Browse Source

1.管理端科技成果新增&修改update;
2.审核员审核科技成果信息;
3.管理端成果下架(撤销)

Antiloveg 8 years ago
parent
commit
dd43ff3e84

+ 2 - 1
schema/2017-05-22.sql

@@ -1,3 +1,4 @@
 alter TABLE `demand`
 add column `audit_status` int(1) null comment'审核状态(0--未提交审核草稿,1,--提交审核,2--审核中,3--审核通过,4--审核未通过)',
-add column `tech_broker_id` varchar(36) null comment'技术经纪人ID';
+add column `tech_broker_id` varchar(36) null comment'技术经纪人ID';
+

+ 4 - 0
schema/2017-05-23.sql

@@ -0,0 +1,4 @@
+
+alter TABLE `achievement`
+add column `audit_status` int(1) null comment'审核状态(0--未提交审核草稿,1,--提交审核,2--审核中,3--审核通过,4--审核未通过)',
+add column `tech_broker_id` varchar(36) null comment'技术经纪人ID';

+ 27 - 0
src/main/java/com/goafanti/achievement/bo/AchievementListBo.java

@@ -62,6 +62,16 @@ public class AchievementListBo {
 	 * 发布时间
 	 */
 	private Date	releaseDate;
+	
+	/**
+	 * 审核状态
+	 */
+	private Integer auditStatus;
+	
+	/**
+	 * 技术经纪人
+	 */
+	private String techBrokerId;
 
 	public String getId() {
 		return id;
@@ -154,6 +164,23 @@ public class AchievementListBo {
 	public void setReleaseDate(Date releaseDate) {
 		this.releaseDate = releaseDate;
 	}
+	
+	@JsonFormat(shape = Shape.STRING)
+	public Integer getAuditStatus() {
+		return auditStatus;
+	}
+
+	public void setAuditStatus(Integer auditStatus) {
+		this.auditStatus = auditStatus;
+	}
+
+	public String getTechBrokerId() {
+		return techBrokerId;
+	}
+
+	public void setTechBrokerId(String techBrokerId) {
+		this.techBrokerId = techBrokerId;
+	}
 
 	public String getReleaseDateFormattedDate() {
 		if (this.releaseDate == null) {

+ 23 - 0
src/main/java/com/goafanti/achievement/bo/InputAchievement.java

@@ -150,6 +150,13 @@ public class InputAchievement {
 	@Max(value = 1, message = "{" + ErrorConstants.PARAM_ERROR + "}")
 	@Min(value = 0, message = "{" + ErrorConstants.PARAM_ERROR + "}")
 	private Integer		releaseStatus;
+	
+	@Max(value = 4, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	@Min(value = 0, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	private Integer auditStatus;
+	
+	@Size(min = 0, max = 36, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String techBrokerId;
 
 	public String getId() {
 		return id;
@@ -486,6 +493,22 @@ public class InputAchievement {
 	public void setReleaseStatus(Integer releaseStatus) {
 		this.releaseStatus = releaseStatus;
 	}
+
+	public Integer getAuditStatus() {
+		return auditStatus;
+	}
+
+	public void setAuditStatus(Integer auditStatus) {
+		this.auditStatus = auditStatus;
+	}
+
+	public String getTechBrokerId() {
+		return techBrokerId;
+	}
+
+	public void setTechBrokerId(String techBrokerId) {
+		this.techBrokerId = techBrokerId;
+	}
 	
 	
 

+ 2 - 2
src/main/java/com/goafanti/achievement/controller/AchievementApiController.java

@@ -35,7 +35,7 @@ public class AchievementApiController extends CertifyApiController{
 	 * 成果列表
 	 */
 	@RequestMapping(value = "/list", method = RequestMethod.GET)
-	private Result list(Integer serialNumber, String name, String keyword, Integer category, Integer ownerType,
+	private Result list(Integer auditStatus, Integer serialNumber, String name, String keyword, Integer category, Integer ownerType,
 			Integer status, String releaseDateStartDate, String releaseDateEndDate, Integer releaseStatus,
 			String pageNo, String pageSize) {
 		Result res = new Result();
@@ -48,7 +48,7 @@ public class AchievementApiController extends CertifyApiController{
 		if (StringUtils.isNumeric(pageNo)) {
 			pNo = Integer.parseInt(pageNo);
 		}
-		res.setData(achievementService.listUserAchievement(serialNumber, name, keyword, category, ownerType, status,
+		res.setData(achievementService.listUserAchievement(auditStatus, serialNumber, name, keyword, category, ownerType, status,
 				releaseDateStartDate, releaseDateEndDate, releaseStatus, pNo, pSize));
 		return res;
 	}

+ 6 - 2
src/main/java/com/goafanti/achievement/service/AchievementService.java

@@ -8,7 +8,7 @@ import com.goafanti.core.mybatis.page.Pagination;
 
 public interface AchievementService {
 
-	Pagination<AchievementListBo> listAchievement(Integer serialNumber, String name, String keyword, Integer category,
+	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);
 
@@ -20,8 +20,12 @@ public interface AchievementService {
 
 	int deleteByPrimaryKey(List<String> asList);
 
-	Pagination<AchievementListBo> listUserAchievement(Integer serialNumber, String name, String keyword, Integer category, Integer ownerType,
+	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);
 
+	int updateAuditAchievement(Achievement a, String techBroderId, Integer auditStatus);
+
+	int updateReleaseStatus(Achievement a);
+
 }

+ 85 - 26
src/main/java/com/goafanti/achievement/service/impl/AchievementServiceImpl.java

@@ -16,11 +16,18 @@ import com.goafanti.achievement.bo.AchievementListBo;
 import com.goafanti.achievement.service.AchievementService;
 import com.goafanti.common.constant.AFTConstants;
 import com.goafanti.common.dao.AchievementMapper;
+import com.goafanti.common.dao.NoticeMapper;
+import com.goafanti.common.dao.UserRoleMapper;
+import com.goafanti.common.enums.AchievementAuditStatus;
 import com.goafanti.common.enums.AchievementReleaseStatus;
-import com.goafanti.common.enums.AchievementStatus;
 import com.goafanti.common.enums.DeleteStatus;
+import com.goafanti.common.enums.DemandAuditStatus;
 import com.goafanti.common.enums.DemandReleaseStatus;
+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.Notice;
 import com.goafanti.common.utils.DateUtils;
 import com.goafanti.core.mybatis.BaseMybatisDao;
 import com.goafanti.core.mybatis.page.Pagination;
@@ -30,11 +37,15 @@ import com.goafanti.core.shiro.token.TokenManager;
 public class AchievementServiceImpl extends BaseMybatisDao<AchievementMapper> implements AchievementService {
 
 	@Autowired
-	private AchievementMapper achievementMapper;
+	private AchievementMapper	achievementMapper;
+	@Autowired
+	private UserRoleMapper		userRoleMapper;
+	@Autowired
+	private NoticeMapper		noticeMapper;
 
 	@SuppressWarnings("unchecked")
 	@Override
-	public Pagination<AchievementListBo> listAchievement(Integer serialNumber, String name, String keyword,
+	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) {
 		if (pNo == null || pNo < 0) {
@@ -45,7 +56,7 @@ public class AchievementServiceImpl extends BaseMybatisDao<AchievementMapper> im
 			pSize = 10;
 		}
 		return (Pagination<AchievementListBo>) findPage(
-				"findManageAchievementListByPage", "findManageAchievementCount", disposeParams(serialNumber, name,
+				"findManageAchievementListByPage", "findManageAchievementCount", disposeParams(auditStatus, serialNumber, name,
 						keyword, category, ownerType, status, releaseDateStartDate, releaseDateEndDate, releaseStatus),
 				pNo, pSize);
 	}
@@ -57,30 +68,24 @@ public class AchievementServiceImpl extends BaseMybatisDao<AchievementMapper> im
 		Calendar now = Calendar.getInstance();
 		now.set(Calendar.MILLISECOND, 0);
 
-		a.setStatus(AchievementStatus.CREATE.getCode());
-		if (AchievementReleaseStatus.RELEASED.getCode().equals(a.getReleaseStatus())) {
-			a.setReleaseDate(now.getTime());
-			a.setStatus(AchievementStatus.ONGOING.getCode());
+		a.setAuditStatus(AchievementAuditStatus.CREATE.getCode());
+		a.setSalesmanId(TokenManager.getAdminId());
+		a.setReleaseStatus(AchievementReleaseStatus.UNRELEASE.getCode());
+
+		if (AchievementAuditStatus.SUBMIT.getCode().equals(a.getAuditStatus())) {
+			a.setAuditStatus(DemandAuditStatus.INAUDIT.getCode());
+			createAuditorNotice(a);
 		}
+
 		a.setCreateTime(now.getTime());
 		achievementMapper.insert(a);
 	}
 
 	@Override
 	public int updateAchievement(Achievement a) {
-		Achievement aa = achievementMapper.selectByPrimaryKey(a.getId());
-		if (AchievementReleaseStatus.RELEASED.getCode().equals(a.getReleaseStatus())
-				&& DemandReleaseStatus.UNRELEASE.getCode().equals(aa.getReleaseStatus())) {
-			Calendar now = Calendar.getInstance();
-			now.set(Calendar.MILLISECOND, 0);
-			a.setReleaseDate(now.getTime());
-			a.setStatus(AchievementStatus.ONGOING.getCode());
-		}
-
-		if (AchievementReleaseStatus.UNRELEASE.getCode().equals(a.getReleaseStatus())
-				&& AchievementReleaseStatus.RELEASED.getCode().equals(aa.getReleaseStatus())) {
-			a.setStatus(AchievementStatus.CREATE.getCode());
-			achievementMapper.updateReleaseDate(aa.getId());
+		if (AchievementAuditStatus.SUBMIT.getCode().equals(a.getAuditStatus())) {
+			a.setAuditStatus(DemandAuditStatus.INAUDIT.getCode());
+			createAuditorNotice(a);
 		}
 		return achievementMapper.updateByPrimaryKeySelective(a);
 	}
@@ -97,10 +102,10 @@ public class AchievementServiceImpl extends BaseMybatisDao<AchievementMapper> im
 
 	@SuppressWarnings("unchecked")
 	@Override
-	public Pagination<AchievementListBo> listUserAchievement(Integer serialNumber, String name, String keyword,
+	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(serialNumber, name, keyword, category, ownerType, status,
+		Map<String, Object> params = disposeParams(auditStatus, serialNumber, name, keyword, category, ownerType, status,
 				releaseDateStartDate, releaseDateEndDate, releaseStatus);
 		params.put("ownerId", TokenManager.getUserId());
 		if (pNo == null || pNo < 0) {
@@ -110,12 +115,11 @@ public class AchievementServiceImpl extends BaseMybatisDao<AchievementMapper> im
 		if (pSize == null || pSize < 0) {
 			pSize = 10;
 		}
-		return (Pagination<AchievementListBo>) findPage(
-				"findAchievementListByPage", "findAchievementCount", params,
+		return (Pagination<AchievementListBo>) findPage("findAchievementListByPage", "findAchievementCount", params,
 				pNo, pSize);
 	}
 
-	private Map<String, Object> disposeParams(Integer serialNumber, String name, String keyword, Integer category,
+	private Map<String, Object> disposeParams(Integer auditStatus, Integer serialNumber, String name, String keyword, Integer category,
 			Integer ownerType, Integer status, String releaseDateStartDate, String releaseDateEndDate,
 			Integer releaseStatus) {
 		Map<String, Object> params = new HashMap<>();
@@ -144,6 +148,10 @@ public class AchievementServiceImpl extends BaseMybatisDao<AchievementMapper> im
 		if (null != rEnd) {
 			params.put("rEnd", rEnd);
 		}
+		
+		if (null != auditStatus){
+			params.put("auditStatus", auditStatus);
+		}
 
 		if (null != serialNumber) {
 			params.put("serialNumber", serialNumber);
@@ -175,5 +183,56 @@ public class AchievementServiceImpl extends BaseMybatisDao<AchievementMapper> im
 
 		return params;
 	}
+	
+	@Override
+	public int updateAuditAchievement(Achievement a, String techBroderId, Integer auditStatus) {
+		a.setAuditStatus(auditStatus);
+		if (AchievementAuditStatus.AUDITED.getCode().equals(auditStatus)) {
+			Calendar now = Calendar.getInstance();
+			now.set(Calendar.MILLISECOND, 0);
+			a.setReleaseDate(now.getTime());
+			a.setReleaseStatus(DemandReleaseStatus.RELEASED.getCode());
+		} else {
+			a.setReleaseStatus(DemandReleaseStatus.UNRELEASE.getCode());
+		}
+		return achievementMapper.updateByPrimaryKeySelective(a);
+	}
+	
+	@Override
+	public int updateReleaseStatus(Achievement a) {
+		a.setAuditStatus(AchievementAuditStatus.CREATE.getCode());
+		a.setReleaseStatus(AchievementReleaseStatus.UNRELEASE.getCode());
+		achievementMapper.updateReleaseDate(a.getId());
+		return achievementMapper.updateByPrimaryKeySelective(a);
+	}
+
+	// 给所有审核员发送审核通知
+	private void createAuditorNotice(Achievement a) {
+		List<String> ids = userRoleMapper.listAuditor();
+		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);
+			}
+		}
+	}
+
+	
+
+	
 
 }

+ 33 - 2
src/main/java/com/goafanti/admin/controller/AdminAchievementApiController.java

@@ -19,6 +19,7 @@ import com.goafanti.achievement.service.AchievementService;
 import com.goafanti.common.bo.Result;
 import com.goafanti.common.constant.ErrorConstants;
 import com.goafanti.common.controller.CertifyApiController;
+import com.goafanti.common.enums.AchievementAuditStatus;
 import com.goafanti.common.enums.AchievementFields;
 import com.goafanti.common.enums.AttachmentType;
 import com.goafanti.common.model.Achievement;
@@ -29,6 +30,28 @@ import com.goafanti.common.utils.StringUtils;
 public class AdminAchievementApiController extends CertifyApiController {
 	@Resource
 	private AchievementService achievementService;
+	
+	/**
+	 * 成果撤消发布(下架)
+	 */
+	@RequestMapping(value = "/offShelf", method = RequestMethod.POST)
+	public Result offShelf(String id) {
+		Result res = new Result();
+		if (StringUtils.isBlank(id)) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到成果ID", "成果ID"));
+			return res;
+		}
+
+		Achievement a = achievementService.selectByPrimaryKey(id);
+
+		if (null == a) {
+			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "需求ID"));
+			return res;
+		}
+
+		res.setData(achievementService.updateReleaseStatus(a));
+		return res;
+	}
 
 	/**
 	 * 下载文本文件
@@ -131,7 +154,7 @@ public class AdminAchievementApiController extends CertifyApiController {
 	 * 成果列表
 	 */
 	@RequestMapping(value = "/list", method = RequestMethod.GET)
-	private Result list(Integer serialNumber, String name, String keyword, Integer category, Integer ownerType,
+	private Result list(Integer auditStatus, Integer serialNumber, String name, String keyword, Integer category, Integer ownerType,
 			Integer status, String releaseDateStartDate, String releaseDateEndDate, Integer releaseStatus,
 			String pageNo, String pageSize) {
 		Result res = new Result();
@@ -144,7 +167,7 @@ public class AdminAchievementApiController extends CertifyApiController {
 		if (StringUtils.isNumeric(pageNo)) {
 			pNo = Integer.parseInt(pageNo);
 		}
-		res.setData(achievementService.listAchievement(serialNumber, name, keyword, category, ownerType, status,
+		res.setData(achievementService.listAchievement(auditStatus, serialNumber, name, keyword, category, ownerType, status,
 				releaseDateStartDate, releaseDateEndDate, releaseStatus, pNo, pSize));
 		return res;
 	}
@@ -189,6 +212,14 @@ public class AdminAchievementApiController extends CertifyApiController {
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到成果ID", "成果ID"));
 			return res;
 		}
+		
+		if (!AchievementAuditStatus.CREATE.getCode().equals(ia.getAuditStatus())
+				&& !AchievementAuditStatus.SUBMIT.getCode().equals(ia.getAuditStatus())
+				&& !AchievementAuditStatus.UNAUDITED.getCode().equals(ia.getAuditStatus())) {
+			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "当前状态无法提交审核!"));
+			return res;
+		}
+		
 		res = disposeInputAchievement(res, ia);
 		if (!res.getError().isEmpty()) {
 			return res;

+ 66 - 21
src/main/java/com/goafanti/admin/controller/AdminAuditApiController.java

@@ -6,11 +6,14 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
+import com.goafanti.achievement.service.AchievementService;
 import com.goafanti.admin.service.AdminService;
 import com.goafanti.common.bo.Result;
 import com.goafanti.common.constant.ErrorConstants;
 import com.goafanti.common.controller.CertifyApiController;
+import com.goafanti.common.enums.AchievementAuditStatus;
 import com.goafanti.common.enums.DemandAuditStatus;
+import com.goafanti.common.model.Achievement;
 import com.goafanti.common.model.Demand;
 import com.goafanti.common.utils.StringUtils;
 import com.goafanti.demand.service.DemandService;
@@ -22,9 +25,11 @@ public class AdminAuditApiController extends CertifyApiController {
 	private AdminService	adminService;
 	@Resource
 	private DemandService	demandService;
+	@Resource
+	private AchievementService	achievementService;
 
 	/**
-	 * 审核员--获取技术经纪人下拉
+	 * 获取技术经纪人下拉
 	 */
 	@RequestMapping(value = "/techBroders", method = RequestMethod.GET)
 	public Result getTechBroders() {
@@ -33,42 +38,82 @@ public class AdminAuditApiController extends CertifyApiController {
 		return res;
 	}
 
-
 	/**
-	 * 审核员--审核科技需求
+	 * 审核科技需求
 	 */
 	@RequestMapping(value = "/demand", method = RequestMethod.POST)
 	public Result demand(String id, String techBroderId, Integer auditStatus) {
 		Result res = new Result();
+		res = disposeDmandAchievement(res, "demand", id, techBroderId, auditStatus);
+		if (!res.getError().isEmpty()) {
+			return res;
+		}
+		Demand d = demandService.selectByPrimaryKey(id);
+		if (null == d) {
+			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "需求ID"));
+			return res;
+		}
+		res.setData(demandService.updateAuditDemand(d, techBroderId, auditStatus));
+		return res;
+	}
+
+	/**
+	 * 审核科技成果
+	 */
+	@RequestMapping(value = "/achievement", method = RequestMethod.POST)
+	public Result achievement(String id, String techBroderId, Integer auditStatus) {
+		Result res = new Result();
+		res = disposeDmandAchievement(res, "achievement", id, techBroderId, auditStatus);
+		if (!res.getError().isEmpty()) {
+			return res;
+		}
+		Achievement a = achievementService.selectByPrimaryKey(id);
+		if (null == a){
+			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "成果ID"));
+			return res;
+		}
+		res.setData(achievementService.updateAuditAchievement(a, techBroderId, auditStatus));
+		return res;
+	}
+
+	private Result disposeDmandAchievement(Result res, String sign, String id, String techBroderId,
+			Integer auditStatus) {
 		if (StringUtils.isBlank(id)) {
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到需求ID", "需求ID"));
 			return res;
 		}
-		
-		if (null == auditStatus){
+
+		if (null == auditStatus) {
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到审核状态", "审核状态"));
 			return res;
 		}
 
-		if (!DemandAuditStatus.AUDITED.getCode().equals(auditStatus)
-				&& !DemandAuditStatus.UNAUDITED.getCode().equals(auditStatus)){
-			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "审核状态"));
-			return res;
-		}
-		
-		if (DemandAuditStatus.AUDITED.getCode().equals(auditStatus)){
-			if (StringUtils.isBlank(techBroderId)){
-				res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到技术经纪人", "技术经纪人"));
+		if (sign.equals("demand")) {
+			if (!DemandAuditStatus.AUDITED.getCode().equals(auditStatus)
+					&& !DemandAuditStatus.UNAUDITED.getCode().equals(auditStatus)) {
+				res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "审核状态"));
 				return res;
 			}
+			if (DemandAuditStatus.AUDITED.getCode().equals(auditStatus)) {
+				if (StringUtils.isBlank(techBroderId)) {
+					res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到技术经纪人", "技术经纪人"));
+					return res;
+				}
+			}
+		} else {
+			if (!AchievementAuditStatus.AUDITED.getCode().equals(auditStatus)
+					&& !AchievementAuditStatus.UNAUDITED.getCode().equals(auditStatus)) {
+				res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "审核状态"));
+				return res;
+			}
+			if (AchievementAuditStatus.AUDITED.getCode().equals(auditStatus)) {
+				if (StringUtils.isBlank(techBroderId)) {
+					res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到技术经纪人", "技术经纪人"));
+					return res;
+				}
+			}
 		}
-		
-		Demand d = demandService.selectByPrimaryKey(id);
-		if (null == d){
-			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "需求ID"));
-			return res;
-		}
-		res.setData(demandService.updateAuditDemand(d, techBroderId, auditStatus));
+
 		return res;
 	}
 }

+ 59 - 0
src/main/java/com/goafanti/common/enums/AchievementAuditStatus.java

@@ -0,0 +1,59 @@
+package com.goafanti.common.enums;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.commons.lang3.StringUtils;
+
+public enum AchievementAuditStatus {
+	
+	CREATE(0, "未提交审核草稿"),
+	SUBMIT(1, "提交审核"),
+	INAUDIT(2, "审核中"),
+	AUDITED(3,"审核通过"),
+	UNAUDITED(4,"审核未通过"),
+	OTHER(5, "其他");
+
+	private AchievementAuditStatus(Integer code, String desc) {
+		this.code = code;
+		this.desc = desc;
+	}
+
+	private static Map<Integer, AchievementAuditStatus> status = new HashMap<Integer, AchievementAuditStatus>();
+
+	static {
+		for (AchievementAuditStatus value : AchievementAuditStatus.values()) {
+			status.put(value.getCode(), value);
+		}
+	}
+
+	public static AchievementAuditStatus getStatus(Integer code) {
+		if (containsType(code)) {
+			return status.get(code);
+		}
+		return OTHER;
+	}
+
+	public static AchievementAuditStatus getStatus(String code) {
+		if (StringUtils.isNumeric(code)) {
+			return getStatus(Integer.parseInt(code));
+		}
+		return OTHER;
+	}
+
+	public static boolean containsType(Integer code) {
+		return status.containsKey(code);
+	}
+
+	private Integer	code;
+	private String	desc;
+
+	public Integer getCode() {
+		return code;
+	}
+
+	public String getDesc() {
+		return desc;
+	}
+
+}

+ 46 - 11
src/main/java/com/goafanti/common/mapper/AchievementMapper.xml

@@ -51,7 +51,9 @@
     <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
     <result column="release_status" jdbcType="INTEGER" property="releaseStatus" />
     <result column="release_date" jdbcType="TIMESTAMP" property="releaseDate" />
-    <result column="deleted_sign" jdbcType="INTEGER" property="deletedSign" />
+    <result column="deleted_sign" jdbcType="INTEGER" property="deletedSign" />
+    <result column="audit_status" jdbcType="INTEGER" property="auditStatus" />
+    <result column="tech_broker_id" jdbcType="VARCHAR" property="techBrokerId" />
   </resultMap>
   <sql id="Base_Column_List">
     id, serial_number, data_category, name, keyword, category, summary, introduction, 
@@ -61,7 +63,7 @@
     bargaining_mode, transfer_price, technical_scene, breakthrough, patent_case, awards, 
     team_des, parameter, tech_plan_url, business_plan_url, org_id, org_name, org_address, 
     org_email, org_contacts, org_contacts_mobile, contacts, manager_id, salesman_id, 
-    status, create_time, release_status, release_date, deleted_sign
+    status, create_time, release_status, release_date, deleted_sign, audit_status, tech_broker_id
   </sql>
   <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
     select 
@@ -90,7 +92,7 @@
       org_contacts, org_contacts_mobile, contacts, 
       manager_id, salesman_id, status, 
       create_time, release_status, release_date, 
-      deleted_sign)
+      deleted_sign, audit_status, tech_broker_id)
     values (#{id,jdbcType=VARCHAR}, #{serialNumber,jdbcType=INTEGER}, #{dataCategory,jdbcType=INTEGER}, 
       #{name,jdbcType=VARCHAR}, #{keyword,jdbcType=VARCHAR}, #{category,jdbcType=INTEGER}, 
       #{summary,jdbcType=VARCHAR}, #{introduction,jdbcType=VARCHAR}, #{technicalPictureUrl,jdbcType=VARCHAR}, 
@@ -107,7 +109,7 @@
       #{orgContacts,jdbcType=VARCHAR}, #{orgContactsMobile,jdbcType=VARCHAR}, #{contacts,jdbcType=VARCHAR}, 
       #{managerId,jdbcType=VARCHAR}, #{salesmanId,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER}, 
       #{createTime,jdbcType=TIMESTAMP}, #{releaseStatus,jdbcType=INTEGER}, #{releaseDate,jdbcType=TIMESTAMP}, 
-      #{deletedSign,jdbcType=INTEGER})
+      #{deletedSign,jdbcType=INTEGER}, #{auditStatus,jdbcType=INTEGER}, #{techBrokerId,jdbcType=VARCHAR})
   </insert>
   <insert id="insertSelective" parameterType="com.goafanti.common.model.Achievement">
     insert into achievement
@@ -261,6 +263,12 @@
       </if>
       <if test="deletedSign != null">
         deleted_sign,
+      </if>
+       <if test="auditStatus != null">
+        audit_status,
+      </if>
+      <if test="techBrokerId != null">
+        tech_broker_id,
       </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
@@ -413,6 +421,12 @@
       </if>
       <if test="deletedSign != null">
         #{deletedSign,jdbcType=INTEGER},
+      </if>
+       <if test="auditStatus != null">
+        #{auditStatus,jdbcType=INTEGER},
+      </if>
+      <if test="techBrokerId != null">
+        #{techBrokerId,jdbcType=VARCHAR},
       </if>
     </trim>
   </insert>
@@ -565,6 +579,12 @@
       </if>
       <if test="deletedSign != null">
         deleted_sign = #{deletedSign,jdbcType=INTEGER},
+      </if>
+      <if test="auditStatus != null">
+        audit_status = #{auditStatus,jdbcType=INTEGER},
+      </if>
+      <if test="techBrokerId != null">
+        tech_broker_id = #{techBrokerId,jdbcType=VARCHAR},
       </if>
     </set>
     where id = #{id,jdbcType=VARCHAR}
@@ -619,21 +639,27 @@
       create_time = #{createTime,jdbcType=TIMESTAMP},
       release_status = #{releaseStatus,jdbcType=INTEGER},
       release_date = #{releaseDate,jdbcType=TIMESTAMP},
-      deleted_sign = #{deletedSign,jdbcType=INTEGER}
+      deleted_sign = #{deletedSign,jdbcType=INTEGER},
+      audit_status = #{auditStatus,jdbcType=INTEGER},
+      tech_broker_id = #{techBrokerId,jdbcType=VARCHAR}
     where id = #{id,jdbcType=VARCHAR}
   </update>
   
   <select id="findManageAchievementListByPage" parameterType="String" resultType="com.goafanti.achievement.bo.AchievementListBo">
   	select 
-  		id, serial_number as serialNumber, data_category as dataCategory, 
-  		name, keyword, category, 
-  		owner_name as ownerName, owner_type as ownerType, owner_mobile as ownerMobile,
-  		status, release_date as releaseDate
-  	from achievement
+  		a.id, a.serial_number as serialNumber, a.data_category as dataCategory, 
+  		a.name, a.keyword, a.category, 
+  		a.owner_name as ownerName, a.owner_type as ownerType, a.owner_mobile as ownerMobile,
+  		a.status, a.release_date as releaseDate, a.audit_status as auditStatus, ad.name as techBrokerId
+  	from achievement a
+  	LEFT JOIN admin ad on a.id = a.tech_broker_id
   	where deleted_sign = 0
   	<if test="serialNumber != null">
 		and  serial_number = #{serialNumber,jdbcType=INTEGER}
 	</if>
+	<if test="auditStatus != null">
+		and  audit_status = #{auditStatus,jdbcType=INTEGER}
+	</if>
 	<if test="name != null">
 		and  name = #{name,jdbcType=VARCHAR}
 	</if>
@@ -672,6 +698,9 @@
   	<if test="serialNumber != null">
 		and  serial_number = #{serialNumber,jdbcType=INTEGER}
 	</if>
+	<if test="auditStatus != null">
+		and  audit_status = #{auditStatus,jdbcType=INTEGER}
+	</if>
 	<if test="name != null">
 		and  name = #{name,jdbcType=VARCHAR}
 	</if>
@@ -716,12 +745,15 @@
   		id, serial_number as serialNumber, data_category as dataCategory, 
   		name, keyword, category, 
   		owner_name as ownerName, owner_type as ownerType, owner_mobile as ownerMobile,
-  		status, release_date as releaseDate
+  		status, release_date as releaseDate, audit_status as auditStatus
   	from achievement
   	where deleted_sign = 0 and owner_id = #{ownerId,jdbcType=VARCHAR}
   	<if test="serialNumber != null">
 		and  serial_number = #{serialNumber,jdbcType=INTEGER}
 	</if>
+	<if test="auditStatus != null">
+		and  audit_status = #{auditStatus,jdbcType=INTEGER}
+	</if>
 	<if test="name != null">
 		and  name = #{name,jdbcType=VARCHAR}
 	</if>
@@ -760,6 +792,9 @@
   	<if test="serialNumber != null">
 		and  serial_number = #{serialNumber,jdbcType=INTEGER}
 	</if>
+	<if test="auditStatus != null">
+		and  audit_status = #{auditStatus,jdbcType=INTEGER}
+	</if>
 	<if test="name != null">
 		and  name = #{name,jdbcType=VARCHAR}
 	</if>

+ 28 - 0
src/main/java/com/goafanti/common/model/Achievement.java

@@ -259,6 +259,16 @@ public class Achievement {
 	 * 删除标记
 	 */
 	private Integer		deletedSign;
+	
+	  /**
+     * 审核状态
+     */
+    private Integer auditStatus;
+    
+    /**
+     * 技术经纪人ID
+     */
+    private String techBrokerId;
 
 	public String getId() {
 		return id;
@@ -671,6 +681,24 @@ public class Achievement {
 	public void setDeletedSign(Integer deletedSign) {
 		this.deletedSign = deletedSign;
 	}
+	
+	
+	@JsonFormat(shape = Shape.STRING)
+	public Integer getAuditStatus() {
+		return auditStatus;
+	}
+
+	public void setAuditStatus(Integer auditStatus) {
+		this.auditStatus = auditStatus;
+	}
+
+	public String getTechBrokerId() {
+		return techBrokerId;
+	}
+
+	public void setTechBrokerId(String techBrokerId) {
+		this.techBrokerId = techBrokerId;
+	}
 
 	public String getReleaseDateFormattedDate() {
 		if (this.releaseDate == null) {

+ 1 - 1
src/main/resources/props/config_local.properties

@@ -1,7 +1,7 @@
 #Driver
 jdbc.driverClassName=com.mysql.jdbc.Driver
 #\u6570\u636e\u5e93\u94fe\u63a5\uff0c
-jdbc.url=jdbc:mysql://192.168.1.109:3306/aft_dev?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true
+jdbc.url=jdbc:mysql://192.168.1.111:3306/aft_dev?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true
 #\u5e10\u53f7
 jdbc.username=root
 #\u5bc6\u7801