Jelajahi Sumber

消息提醒

huangjn 3 tahun lalu
induk
melakukan
857c48b815

+ 24 - 0
blade-service/blade-business/src/main/java/org/springblade/business/controller/UserOpinionController.java

@@ -17,6 +17,7 @@ import org.springblade.business.feign.MessageWarningClient;
 import org.springblade.business.service.IUserOpinionFileService;
 import org.springblade.business.service.IUserOpinionFlowService;
 import org.springblade.business.service.IUserOpinionGoodService;
+import org.springblade.business.vo.MessageWarningVO;
 import org.springblade.common.utils.SnowFlakeUtil;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
@@ -24,8 +25,13 @@ import org.springblade.core.secure.BladeUser;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.DateUtil;
+import org.springblade.core.tool.utils.Func;
 import org.springblade.manager.dto.SaveUserInfoByProjectDTO;
+import org.springblade.manager.entity.ContractInfo;
+import org.springblade.manager.entity.ProjectInfo;
+import org.springblade.manager.feign.ContractClient;
 import org.springblade.manager.feign.ProjectAssignmentUserClient;
+import org.springblade.manager.feign.ProjectClient;
 import org.springblade.system.entity.DictBiz;
 import org.springblade.system.feign.IDictBizClient;
 import org.springblade.system.user.entity.User;
@@ -70,6 +76,10 @@ public class UserOpinionController extends BladeController {
 
 	private final MessageWarningClient messageWarningClient;
 
+	private final ContractClient contractClient;
+
+	private final ProjectClient projectClient;
+
 	/**
 	 * 取消点赞
 	 * @param userOpinionId 工单ID
@@ -261,6 +271,20 @@ public class UserOpinionController extends BladeController {
 					manegeUserPhone = user.getPhone();
 				}
 			}
+
+			ProjectInfo projectInfo = this.projectClient.queryProjectList(Func.toStrList(userOpinionVo.getProjectId().toString())).get(0);
+			ContractInfo contractInfo = this.contractClient.getContractById(userOpinionVo.getContractId());
+
+			//保存推送记录
+			this.messageWarningClient.savePushUserMessageWarning(new MessageWarningVO(
+					userOpinionVo.getProjectId(),
+					userOpinionVo.getContractId(),
+					4,
+					(StringUtils.isNotEmpty(projectInfo.getProjectAlias()) ? projectInfo.getProjectAlias() : projectInfo.getProjectName()) + contractInfo.getContractName() + "的用户" + AuthUtil.getNickName() + "向您提交的【" + userOpinionVo.getProblemType() + ":" + userOpinionVo.getOpinionContent() + "】工单反馈,请及时处理",
+					manageUser,
+					0
+			));
+
 		}catch (Exception e){
 			e.printStackTrace();
 		}

+ 33 - 0
blade-service/blade-business/src/main/java/org/springblade/business/controller/UserOpinionFlowController.java

@@ -11,13 +11,20 @@ import org.apache.commons.lang.StringUtils;
 import org.apache.commons.lang.time.DateUtils;
 import org.springblade.business.entity.AssessmentUser;
 import org.springblade.business.entity.UserOpinion;
+import org.springblade.business.feign.MessageWarningClient;
 import org.springblade.business.service.IAssessmentUserService;
 import org.springblade.business.service.IUserOpinionService;
+import org.springblade.business.vo.MessageWarningVO;
 import org.springblade.business.vo.UserOpinionFlowVO;
 import org.springblade.core.secure.BladeUser;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.DateUtil;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.manager.entity.ContractInfo;
+import org.springblade.manager.entity.ProjectInfo;
+import org.springblade.manager.feign.ContractClient;
+import org.springblade.manager.feign.ProjectClient;
 import org.springblade.system.entity.DictBiz;
 import org.springblade.system.feign.IDictBizClient;
 import org.springframework.web.bind.annotation.*;
@@ -50,6 +57,12 @@ public class UserOpinionFlowController extends BladeController {
 
 	private final IDictBizClient dictBizClient;
 
+	private final MessageWarningClient messageWarningClient;
+
+	private final ContractClient contractClient;
+
+	private final ProjectClient projectClient;
+
 	/**
 	 * 统合接口
 	 * @param oldEndFlow 流程图的最后一个节点ID
@@ -124,6 +137,26 @@ public class UserOpinionFlowController extends BladeController {
 				manageUser = leftFlow.getManageUser();
 				manageUserName = leftFlow.getManageUserName();
 				manegeUserPhone = leftFlow.getManageUserPhone();
+
+				try{
+
+					ProjectInfo projectInfo = this.projectClient.queryProjectList(Func.toStrList(userOpinion.getProjectId().toString())).get(0);
+					ContractInfo contractInfo = this.contractClient.getContractById(userOpinion.getContractId());
+
+					//保存推送记录
+					this.messageWarningClient.savePushUserMessageWarning(new MessageWarningVO(
+							userOpinion.getProjectId(),
+							userOpinion.getContractId(),
+							4,
+							StringUtils.isNotEmpty(projectInfo.getProjectAlias()) ? projectInfo.getProjectAlias() : projectInfo.getProjectName() + contractInfo.getContractName() + "的用户【" + AuthUtil.getNickName() + "】再次向您提交了【" + userOpinion.getProblemType() + ":" + userOpinion.getOpinionContent() + "】工单反馈(客户执行了不满意并再次提交操作),请及时处理",
+							manageUser,
+							0
+					));
+
+				}catch (Exception e){
+					e.printStackTrace();
+				}
+
 			}
 
 			//生成新流程

+ 4 - 1
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/MessageWarningServiceImpl.java

@@ -21,8 +21,8 @@ import org.springblade.business.mapper.MessageWarningMapper;
 import org.springblade.business.service.IMessageWarningService;
 import org.springblade.business.vo.MessageWarningVO;
 import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 
 /**
  *  服务实现类
@@ -35,6 +35,9 @@ public class MessageWarningServiceImpl extends BaseServiceImpl<MessageWarningMap
 
 	@Override
 	public void savePushUserMessageWarning(MessageWarningVO vo) {
+		MessageWarning messageWarning = new MessageWarning();
+		BeanUtils.copyProperties(vo, messageWarning);
 
+		this.baseMapper.insert(messageWarning);
 	}
 }