评议审批加消息通知
This commit is contained in:
parent
ae0241666d
commit
4ce99ca39a
|
@ -43,6 +43,8 @@ public class Message extends BaseEntity {
|
||||||
public static final Integer TYPE_ACTIVITY_PASS = 10;
|
public static final Integer TYPE_ACTIVITY_PASS = 10;
|
||||||
//所有人的通知公告
|
//所有人的通知公告
|
||||||
public static final Integer TYPE_NOTICE = 11;
|
public static final Integer TYPE_NOTICE = 11;
|
||||||
|
//通知评议审核
|
||||||
|
public static final Integer TYPE_REVIEW = 12;
|
||||||
|
|
||||||
//未读
|
//未读
|
||||||
public static final Integer STATUS_UNREAD = 0;
|
public static final Integer STATUS_UNREAD = 0;
|
||||||
|
@ -74,7 +76,7 @@ public class Message extends BaseEntity {
|
||||||
/**
|
/**
|
||||||
* 消息类型
|
* 消息类型
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "消息类型 1通知文件轮阅 2通知会议 3通知督事 4通知文件审批 5选民建议 6联系人大 7乡镇选民建议 8活动审核 9活动拒绝 10活动通过 11所有人的通知公告")
|
@ApiModelProperty(value = "消息类型 1通知文件轮阅 2通知会议 3通知督事 4通知文件审批 5选民建议 6联系人大 7乡镇选民建议 8活动审核 9活动拒绝 10活动通过 11所有人的通知公告 12通知评议审核")
|
||||||
private Integer type;
|
private Integer type;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -3,6 +3,8 @@ package com.ydool.boot.modules.rddb.entity.bo;
|
||||||
import com.ydool.boot.modules.rddb.entity.Review;
|
import com.ydool.boot.modules.rddb.entity.Review;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotBlank;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* 上报
|
* 上报
|
||||||
|
@ -18,6 +20,7 @@ public class ReviewBo extends Review {
|
||||||
String opinionAttachmentArrStr;
|
String opinionAttachmentArrStr;
|
||||||
String resultAttachmentArrStr;
|
String resultAttachmentArrStr;
|
||||||
|
|
||||||
|
@NotBlank(message = "请选择审批人员")
|
||||||
String inReportAudit1Ids;
|
String inReportAudit1Ids;
|
||||||
String inReportAudit2Ids;
|
String inReportAudit2Ids;
|
||||||
String checkUserIds;
|
String checkUserIds;
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package com.ydool.boot.modules.rddb.service;
|
package com.ydool.boot.modules.rddb.service;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.lang.Assert;
|
import cn.hutool.core.lang.Assert;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
@ -21,6 +22,7 @@ import com.ydool.boot.modules.rddb.mapper.ReviewMapper;
|
||||||
import com.ydool.boot.modules.rddb.wrapper.ReviewWrapper;
|
import com.ydool.boot.modules.rddb.wrapper.ReviewWrapper;
|
||||||
import com.ydool.boot.modules.sys.entity.User;
|
import com.ydool.boot.modules.sys.entity.User;
|
||||||
import com.ydool.boot.modules.sys.service.UserService;
|
import com.ydool.boot.modules.sys.service.UserService;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
@ -52,6 +54,8 @@ public class ReviewService extends BaseService<ReviewMapper, Review> {
|
||||||
ReviewUserService reviewUserService;
|
ReviewUserService reviewUserService;
|
||||||
@Autowired
|
@Autowired
|
||||||
UserService userService;
|
UserService userService;
|
||||||
|
@Autowired
|
||||||
|
MessageService messageService;
|
||||||
|
|
||||||
/*后台*/
|
/*后台*/
|
||||||
@Transactional
|
@Transactional
|
||||||
|
@ -69,6 +73,7 @@ public class ReviewService extends BaseService<ReviewMapper, Review> {
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public Ret adminSaveOrUpdate(ReviewBo reviewBo, User loginUser) {
|
public Ret adminSaveOrUpdate(ReviewBo reviewBo, User loginUser) {
|
||||||
|
Boolean isNew = false;
|
||||||
Review review = BeanUtil.copyProperties(reviewBo, Review.class);
|
Review review = BeanUtil.copyProperties(reviewBo, Review.class);
|
||||||
if (StrUtil.isNotBlank(review.getId())) {
|
if (StrUtil.isNotBlank(review.getId())) {
|
||||||
review.setUpdatedId(loginUser.getId());
|
review.setUpdatedId(loginUser.getId());
|
||||||
|
@ -76,6 +81,7 @@ public class ReviewService extends BaseService<ReviewMapper, Review> {
|
||||||
review.setState(Review.STATE_IN_REPORT);
|
review.setState(Review.STATE_IN_REPORT);
|
||||||
review.setStatus(0);
|
review.setStatus(0);
|
||||||
review.setCreatedId(loginUser.getId());
|
review.setCreatedId(loginUser.getId());
|
||||||
|
isNew = true;
|
||||||
}
|
}
|
||||||
saveOrUpdate(review);
|
saveOrUpdate(review);
|
||||||
reviewBo.setId(review.getId());
|
reviewBo.setId(review.getId());
|
||||||
|
@ -93,9 +99,28 @@ public class ReviewService extends BaseService<ReviewMapper, Review> {
|
||||||
saveReviewAttachment(reviewBo.getId(), reviewBo.getCheckAttachmentArrStr(), loginUser, Review.STATE_CHECK);
|
saveReviewAttachment(reviewBo.getId(), reviewBo.getCheckAttachmentArrStr(), loginUser, Review.STATE_CHECK);
|
||||||
saveReviewAttachment(reviewBo.getId(), reviewBo.getOpinionAttachmentArrStr(), loginUser, Review.STATE_OPINION);
|
saveReviewAttachment(reviewBo.getId(), reviewBo.getOpinionAttachmentArrStr(), loginUser, Review.STATE_OPINION);
|
||||||
saveReviewAttachment(reviewBo.getId(), reviewBo.getResultAttachmentArrStr(), loginUser, Review.STATE_RESULT);
|
saveReviewAttachment(reviewBo.getId(), reviewBo.getResultAttachmentArrStr(), loginUser, Review.STATE_RESULT);
|
||||||
|
|
||||||
|
if (isNew) {
|
||||||
|
sendMsg(review, loginUser, reviewBo.getInReportAudit1Ids().split(",")[0]);
|
||||||
|
}
|
||||||
return Ret.ok();
|
return Ret.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void sendMsg(Review review, User loginUser, String userId) {
|
||||||
|
//一个人一个人审核,当手机端有通过操作时,找到下一个人发消息
|
||||||
|
if (StringUtils.isNotBlank(userId)) {
|
||||||
|
Message message = new Message();
|
||||||
|
message.setActionId(review.getId());
|
||||||
|
message.setTitle("您有一个评议需审批,请前往查看!");
|
||||||
|
message.setContent(review.getReviewSubject());
|
||||||
|
message.setType(Message.TYPE_REVIEW);
|
||||||
|
message.setCreatedId(loginUser != null ? loginUser.getId() : "");
|
||||||
|
message.setStatus(Message.STATUS_UNREAD);
|
||||||
|
message.setUserId(userId);
|
||||||
|
messageService.save(message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*接口*/
|
/*接口*/
|
||||||
|
|
||||||
public Ret comment(ReviewCommentRequest reviewCommentRequest, User loginUser) {
|
public Ret comment(ReviewCommentRequest reviewCommentRequest, User loginUser) {
|
||||||
|
@ -152,15 +177,19 @@ public class ReviewService extends BaseService<ReviewMapper, Review> {
|
||||||
saveOrUpdate(review);
|
saveOrUpdate(review);
|
||||||
}
|
}
|
||||||
//如果没有待审批的,进入下一阶段
|
//如果没有待审批的,进入下一阶段
|
||||||
int waitAuditCount = reviewAuditService.count(new LambdaQueryWrapper<ReviewAudit>()
|
List<ReviewAudit> waitAuditList = reviewAuditService.list(new LambdaQueryWrapper<ReviewAudit>()
|
||||||
.eq(ReviewAudit::getReviewId, reviewAuditRequest.getReviewId())
|
.eq(ReviewAudit::getReviewId, reviewAuditRequest.getReviewId())
|
||||||
.eq(ReviewAudit::getStatus, 0));
|
.eq(ReviewAudit::getStatus, 0)
|
||||||
if (waitAuditCount == 0) {
|
.orderByAsc(ReviewAudit::getSortNo));
|
||||||
|
if (CollectionUtil.isEmpty(waitAuditList)) {
|
||||||
review.setStatus(1);
|
review.setStatus(1);
|
||||||
// review.setState(Review.STATE_REPORT); 直接跳过
|
// review.setState(Review.STATE_REPORT); 直接跳过
|
||||||
// review.setState(Review.STATE_ASK); 直接跳过
|
// review.setState(Review.STATE_ASK); 直接跳过
|
||||||
review.setState(Review.STATE_CHECK);
|
review.setState(Review.STATE_CHECK);
|
||||||
saveOrUpdate(review);
|
saveOrUpdate(review);
|
||||||
|
} else {
|
||||||
|
ReviewAudit nextReviewAudit = waitAuditList.get(0);
|
||||||
|
sendMsg(review, null, nextReviewAudit.getUserId());
|
||||||
}
|
}
|
||||||
return !flag ? Ret.fail("操作失败") : Ret.ok();
|
return !flag ? Ret.fail("操作失败") : Ret.ok();
|
||||||
}
|
}
|
||||||
|
@ -169,7 +198,7 @@ public class ReviewService extends BaseService<ReviewMapper, Review> {
|
||||||
public Review stateCheckSave(ReviewCheckStateRequest reviewCheckStateRequest, User loginUser) {
|
public Review stateCheckSave(ReviewCheckStateRequest reviewCheckStateRequest, User loginUser) {
|
||||||
Review review = getById(reviewCheckStateRequest.getReviewId());
|
Review review = getById(reviewCheckStateRequest.getReviewId());
|
||||||
Assert.notNull(review, "未找到该记录");
|
Assert.notNull(review, "未找到该记录");
|
||||||
if(Review.STATE_CHECK!=review.getState()) throw new ResultException(Ret.fail("当前环节不能提交该信息"));
|
if (Review.STATE_CHECK != review.getState()) throw new ResultException(Ret.fail("当前环节不能提交该信息"));
|
||||||
BeanUtil.copyProperties(reviewCheckStateRequest, review);
|
BeanUtil.copyProperties(reviewCheckStateRequest, review);
|
||||||
saveOrUpdate(review);
|
saveOrUpdate(review);
|
||||||
|
|
||||||
|
@ -196,7 +225,7 @@ public class ReviewService extends BaseService<ReviewMapper, Review> {
|
||||||
public Ret checkEnd(String id, User loginUser) {
|
public Ret checkEnd(String id, User loginUser) {
|
||||||
Review review = getById(id);
|
Review review = getById(id);
|
||||||
Assert.notNull(review, "未找到该记录");
|
Assert.notNull(review, "未找到该记录");
|
||||||
if(Review.STATE_CHECK!=review.getState()) throw new ResultException(Ret.fail("当前环节不能提交该信息"));
|
if (Review.STATE_CHECK != review.getState()) throw new ResultException(Ret.fail("当前环节不能提交该信息"));
|
||||||
if (!loginUser.getId().equals(review.getCreatedId())) return Ret.fail("您不是创建人,不能操作");
|
if (!loginUser.getId().equals(review.getCreatedId())) return Ret.fail("您不是创建人,不能操作");
|
||||||
review.setState(Review.STATE_OPINION);
|
review.setState(Review.STATE_OPINION);
|
||||||
boolean flag = saveOrUpdate(review);
|
boolean flag = saveOrUpdate(review);
|
||||||
|
@ -206,7 +235,7 @@ public class ReviewService extends BaseService<ReviewMapper, Review> {
|
||||||
public Review stateOpinionSave(ReviewOpinionStateRequest reviewOpinionStateRequest, User loginUser) {
|
public Review stateOpinionSave(ReviewOpinionStateRequest reviewOpinionStateRequest, User loginUser) {
|
||||||
Review review = getById(reviewOpinionStateRequest.getReviewId());
|
Review review = getById(reviewOpinionStateRequest.getReviewId());
|
||||||
Assert.notNull(review, "未找到该记录");
|
Assert.notNull(review, "未找到该记录");
|
||||||
if(Review.STATE_OPINION!=review.getState()) throw new ResultException(Ret.fail("当前环节不能提交该信息"));
|
if (Review.STATE_OPINION != review.getState()) throw new ResultException(Ret.fail("当前环节不能提交该信息"));
|
||||||
BeanUtil.copyProperties(reviewOpinionStateRequest, review);
|
BeanUtil.copyProperties(reviewOpinionStateRequest, review);
|
||||||
review.setState(Review.STATE_RESULT);
|
review.setState(Review.STATE_RESULT);
|
||||||
saveOrUpdate(review);
|
saveOrUpdate(review);
|
||||||
|
@ -218,7 +247,7 @@ public class ReviewService extends BaseService<ReviewMapper, Review> {
|
||||||
public Review stateResultSave(ReviewResultStateRequest reviewResultStateRequest, User loginUser) {
|
public Review stateResultSave(ReviewResultStateRequest reviewResultStateRequest, User loginUser) {
|
||||||
Review review = getById(reviewResultStateRequest.getReviewId());
|
Review review = getById(reviewResultStateRequest.getReviewId());
|
||||||
Assert.notNull(review, "未找到该记录");
|
Assert.notNull(review, "未找到该记录");
|
||||||
if(Review.STATE_RESULT!=review.getState()) throw new ResultException(Ret.fail("当前环节不能提交该信息"));
|
if (Review.STATE_RESULT != review.getState()) throw new ResultException(Ret.fail("当前环节不能提交该信息"));
|
||||||
BeanUtil.copyProperties(reviewResultStateRequest, review);
|
BeanUtil.copyProperties(reviewResultStateRequest, review);
|
||||||
review.setState(Review.STATE_PUBLIC);
|
review.setState(Review.STATE_PUBLIC);
|
||||||
saveOrUpdate(review);
|
saveOrUpdate(review);
|
||||||
|
|
Loading…
Reference in New Issue