| | |
| | | * @return |
| | | */ |
| | | public Response confirmFeedback(BOMFeedback feedback) { |
| | | DocUser user = ActionUtil.getUser(); |
| | | int userId = user.getId().intValue(); |
| | | String username = user.getName(); |
| | | String msg=""; |
| | | boolean bl=true; |
| | | int id = feedback.getId(); |
| | |
| | | //1.确认前先判断反馈是否被确认 |
| | | QueryWrapper<BOMFeedback> queryWrapper=new QueryWrapper<>(); |
| | | queryWrapper.eq("id",id); |
| | | queryWrapper.ne("confirm_status",0); |
| | | List list=mapper.selectList(queryWrapper); |
| | | if(list!=null&&list.size()>0){ |
| | | queryWrapper.ne("confirm_status",0).last(" limit 1"); |
| | | BOMFeedback feedbackDB = mapper.selectOne(queryWrapper); |
| | | if(feedbackDB!=null){ |
| | | msg="该反馈已被确认"; |
| | | bl=false; |
| | | }else{ |
| | | if(confirmStatus == 1){ //与我无关,完结原记录;生成新记录,剔除当前确认人 |
| | | QueryWrapper<BOMFeedback> query = Wrappers.query(); |
| | | query.eq("id",id).last(" limit 1"); |
| | | feedbackDB = mapper.selectOne(query); |
| | | feedbackDB.setId(null); |
| | | String receiverIdsNow = feedbackDB.getReceiverIds(); |
| | | String receiverNamesNow = feedbackDB.getReceiverNames(); |
| | | //接受者id剔除当前用户id |
| | | String[] receiverIdArr = receiverIdsNow.split(","); |
| | | StringBuilder idsNextBuilder = new StringBuilder(); |
| | | for (int i = 0; i < receiverIdArr.length; i++) { |
| | | if(!receiverIdArr[i].equals(String.valueOf(userId))){ |
| | | if(idsNextBuilder.length()==0){ |
| | | idsNextBuilder.append(receiverIdArr[i]); |
| | | }else{ |
| | | idsNextBuilder.append(",").append(receiverIdArr[i]); |
| | | } |
| | | } |
| | | } |
| | | feedbackDB.setReceiverIds(idsNextBuilder.toString()); |
| | | |
| | | //接受者名字剔除当前用户名 |
| | | String[] receiverNamesArr = receiverNamesNow.split(","); |
| | | StringBuilder namesNextBuilder = new StringBuilder(); |
| | | for (int i = 0; i < receiverNamesArr.length; i++) { |
| | | if(!receiverNamesArr[i].equals(String.valueOf(username))){ |
| | | if(namesNextBuilder.length()==0){ |
| | | namesNextBuilder.append(receiverNamesArr[i]); |
| | | }else{ |
| | | namesNextBuilder.append(",").append(receiverNamesArr[i]); |
| | | } |
| | | } |
| | | } |
| | | feedbackDB.setReceiverNames(namesNextBuilder.toString()); |
| | | mapper.insert(feedbackDB); |
| | | } |
| | | //2.确认反馈 |
| | | UpdateWrapper<BOMFeedback> wrapper=new UpdateWrapper<>(); |
| | | wrapper.set("confirm_status",confirmStatus); |
| | | wrapper.set("confirm_user_name",ActionUtil.getUser().getName()); |
| | | wrapper.set("confirm_user_name",username); |
| | | wrapper.set("reply_content",replyContent); |
| | | wrapper.set("reply_time",now); |
| | | wrapper.eq("id",id); |