Compare commits

...

2 Commits

Author SHA1 Message Date
ShiJiuZhou e65b35a39b Merge remote-tracking branch 'origin/master' 4 weeks ago
ShiJiuZhou 29dd780640 修改通知 4 weeks ago
  1. 2
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/vo/MesApprovalRecordVO.java
  2. 2
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/vo/MesNotifyMessageVO.java
  3. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/common/controller/MesApprovalRecordController.java
  4. 23
      blade-service/blade-desk/src/main/java/org/springblade/desk/common/controller/MesNotifyMessageController.java
  5. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/IMesApprovalRecordService.java
  6. 11
      blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/IMesNotifyMessageService.java
  7. 24
      blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/impl/MesApprovalRecordServiceImpl.java
  8. 34
      blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/impl/MesNotifyMessageServiceImpl.java

@ -42,4 +42,6 @@ public class MesApprovalRecordVO extends MesApprovalRecordEntity {
@Serial @Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private String bizName;
} }

@ -42,5 +42,7 @@ public class MesNotifyMessageVO extends MesNotifyMessageEntity {
@Serial @Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private String bizName;
private String createUserName; private String createUserName;
} }

@ -26,6 +26,7 @@
package org.springblade.desk.common.controller; package org.springblade.desk.common.controller;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@ -34,6 +35,7 @@ import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query; import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.desk.common.pojo.entity.MesApprovalRecordEntity;
import org.springblade.desk.common.pojo.vo.MyHistoryMesApprovalRecordVO; import org.springblade.desk.common.pojo.vo.MyHistoryMesApprovalRecordVO;
import org.springblade.desk.common.pojo.vo.MyMesApprovalRecordVO; import org.springblade.desk.common.pojo.vo.MyMesApprovalRecordVO;
import org.springblade.desk.common.service.IMesApprovalRecordService; import org.springblade.desk.common.service.IMesApprovalRecordService;
@ -62,7 +64,8 @@ public class MesApprovalRecordController extends BladeController {
@Operation(summary = "获取我的审批分页", description = "传入mesApprovalRecord") @Operation(summary = "获取我的审批分页", description = "传入mesApprovalRecord")
public R<IPage<MyMesApprovalRecordVO>> pageMyApprovalRecord(MyMesApprovalRecordVO mesApprovalRecord, Query query) { public R<IPage<MyMesApprovalRecordVO>> pageMyApprovalRecord(MyMesApprovalRecordVO mesApprovalRecord, Query query) {
mesApprovalRecord.setNextRoleId(Long.parseLong(AuthUtil.getUser().getRoleId())); mesApprovalRecord.setNextRoleId(Long.parseLong(AuthUtil.getUser().getRoleId()));
IPage<MyMesApprovalRecordVO> pages = mesApprovalRecordService.selectMyMesApprovalRecordPage(Condition.getPage(query), mesApprovalRecord); Page<MesApprovalRecordEntity> page = new Page<>(query.getCurrent(), query.getSize());
IPage<MyMesApprovalRecordVO> pages = mesApprovalRecordService.selectMyMesApprovalRecordPage(page, mesApprovalRecord);
return R.data(pages); return R.data(pages);
} }

@ -26,6 +26,7 @@
package org.springblade.desk.common.controller; package org.springblade.desk.common.controller;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
@ -37,10 +38,13 @@ import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.common.pojo.entity.MesNotifyMessageEntity;
import org.springblade.desk.common.pojo.vo.MesNotifyMessageVO; import org.springblade.desk.common.pojo.vo.MesNotifyMessageVO;
import org.springblade.desk.common.service.IMesNotifyMessageService; import org.springblade.desk.common.service.IMesNotifyMessageService;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
/** /**
* 通知消息 控制器 * 通知消息 控制器
* *
@ -62,10 +66,20 @@ public class MesNotifyMessageController extends BladeController {
@Operation(summary = "分页", description = "传入mesNotifyMessage") @Operation(summary = "分页", description = "传入mesNotifyMessage")
public R<IPage<MesNotifyMessageVO>> page(MesNotifyMessageVO mesNotifyMessage, Query query) { public R<IPage<MesNotifyMessageVO>> page(MesNotifyMessageVO mesNotifyMessage, Query query) {
mesNotifyMessage.setReceiveUserId(AuthUtil.getUserId()); mesNotifyMessage.setReceiveUserId(AuthUtil.getUserId());
IPage<MesNotifyMessageVO> pages = mesNotifyMessageService.selectMesNotifyMessagePage(Condition.getPage(query), mesNotifyMessage); IPage<MesNotifyMessageVO> pages = mesNotifyMessageService.selectMesNotifyMessagePage(new Page<>(query.getCurrent(), query.getSize()), mesNotifyMessage);
return R.data(pages); return R.data(pages);
} }
@GetMapping("/count")
@Operation(summary = "获取未读数量", description = "传入mesNotifyMessage")
public R<Long> count() {
MesNotifyMessageVO mesNotifyMessage = new MesNotifyMessageVO();
mesNotifyMessage.setReceiveUserId(AuthUtil.getUserId());
mesNotifyMessage.setStatus(0);
long count = mesNotifyMessageService.count(Condition.getQueryWrapper(mesNotifyMessage));
return R.data(count);
}
/** /**
* 通知消息 删除 * 通知消息 删除
*/ */
@ -76,4 +90,11 @@ public class MesNotifyMessageController extends BladeController {
return R.status(mesNotifyMessageService.deleteLogic(Func.toLongList(ids))); return R.status(mesNotifyMessageService.deleteLogic(Func.toLongList(ids)));
} }
@PostMapping("/read")
@ApiLog("标记已读")
@Operation(summary = "标记已读", description = "传入ids")
public R read(@Parameter(description = "主键集合", required = true) String ids) {
List<Long> idList = Func.toLongList(ids);
return R.status(mesNotifyMessageService.updateReadStatus(idList));
}
} }

@ -26,6 +26,7 @@
package org.springblade.desk.common.service; package org.springblade.desk.common.service;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springblade.core.mp.base.BaseService; import org.springblade.core.mp.base.BaseService;
import org.springblade.desk.common.pojo.entity.MesApprovalRecordEntity; import org.springblade.desk.common.pojo.entity.MesApprovalRecordEntity;
import org.springblade.desk.common.pojo.vo.MyHistoryMesApprovalRecordVO; import org.springblade.desk.common.pojo.vo.MyHistoryMesApprovalRecordVO;
@ -45,7 +46,7 @@ public interface IMesApprovalRecordService extends BaseService<MesApprovalRecord
* @param mesApprovalRecord 查询参数 * @param mesApprovalRecord 查询参数
* @return IPage<MyMesApprovalRecordVO> * @return IPage<MyMesApprovalRecordVO>
*/ */
IPage<MyMesApprovalRecordVO> selectMyMesApprovalRecordPage(IPage<MyMesApprovalRecordVO> page, MyMesApprovalRecordVO mesApprovalRecord); IPage<MyMesApprovalRecordVO> selectMyMesApprovalRecordPage(Page<MesApprovalRecordEntity> page, MyMesApprovalRecordVO mesApprovalRecord);
/** /**
* 自定义分页 * 自定义分页

@ -26,10 +26,13 @@
package org.springblade.desk.common.service; package org.springblade.desk.common.service;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springblade.core.mp.base.BaseService; import org.springblade.core.mp.base.BaseService;
import org.springblade.desk.common.pojo.entity.MesNotifyMessageEntity; import org.springblade.desk.common.pojo.entity.MesNotifyMessageEntity;
import org.springblade.desk.common.pojo.vo.MesNotifyMessageVO; import org.springblade.desk.common.pojo.vo.MesNotifyMessageVO;
import java.util.List;
/** /**
* 通知消息 服务类 * 通知消息 服务类
* *
@ -44,6 +47,12 @@ public interface IMesNotifyMessageService extends BaseService<MesNotifyMessageEn
* @param mesNotifyMessage 查询参数 * @param mesNotifyMessage 查询参数
* @return IPage<MesNotifyMessageVO> * @return IPage<MesNotifyMessageVO>
*/ */
IPage<MesNotifyMessageVO> selectMesNotifyMessagePage(IPage<MesNotifyMessageVO> page, MesNotifyMessageVO mesNotifyMessage); IPage<MesNotifyMessageVO> selectMesNotifyMessagePage(Page<MesNotifyMessageEntity> page, MesNotifyMessageVO mesNotifyMessage);
/**
* 标记已读
* @param ids 主键集合
* @return
*/
boolean updateReadStatus(List<Long> ids);
} }

@ -25,14 +25,18 @@
*/ */
package org.springblade.desk.common.service.impl; package org.springblade.desk.common.service.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springblade.common.utils.CommonUtil; import org.springblade.common.utils.CommonUtil;
import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.desk.common.constant.ApprovalStatusConstant; import org.springblade.desk.common.constant.ApprovalStatusConstant;
import org.springblade.desk.common.mapper.MesApprovalRecordMapper; import org.springblade.desk.common.mapper.MesApprovalRecordMapper;
import org.springblade.desk.common.pojo.entity.MesApprovalRecordEntity; import org.springblade.desk.common.pojo.entity.MesApprovalRecordEntity;
import org.springblade.desk.common.pojo.entity.MesNotifyMessageEntity;
import org.springblade.desk.common.pojo.vo.MesNotifyMessageVO;
import org.springblade.desk.common.pojo.vo.MyHistoryMesApprovalRecordVO; import org.springblade.desk.common.pojo.vo.MyHistoryMesApprovalRecordVO;
import org.springblade.desk.common.pojo.vo.MyMesApprovalRecordVO; import org.springblade.desk.common.pojo.vo.MyMesApprovalRecordVO;
import org.springblade.desk.common.service.IMesApprovalRecordService; import org.springblade.desk.common.service.IMesApprovalRecordService;
@ -56,19 +60,27 @@ import java.util.stream.Collectors;
public class MesApprovalRecordServiceImpl extends BaseServiceImpl<MesApprovalRecordMapper, MesApprovalRecordEntity> implements IMesApprovalRecordService { public class MesApprovalRecordServiceImpl extends BaseServiceImpl<MesApprovalRecordMapper, MesApprovalRecordEntity> implements IMesApprovalRecordService {
@Override @Override
public IPage<MyMesApprovalRecordVO> selectMyMesApprovalRecordPage(IPage<MyMesApprovalRecordVO> page, MyMesApprovalRecordVO mesApprovalRecord) { public IPage<MyMesApprovalRecordVO> selectMyMesApprovalRecordPage(Page<MesApprovalRecordEntity> page, MyMesApprovalRecordVO mesApprovalRecord) {
List<MesApprovalRecordEntity> myMesApprovalRecordVOList = baseMapper.selectMyMesApprovalRecordPage(page, mesApprovalRecord); Page<MesApprovalRecordEntity> mesNotifyMessageVOPage = this.page(page, new LambdaQueryWrapper<MesApprovalRecordEntity>()
if (!myMesApprovalRecordVOList.isEmpty()){ .eq(StrUtil.isNotEmpty(mesApprovalRecord.getBizType()), MesApprovalRecordEntity::getBizType, mesApprovalRecord.getBizType())
.like(StrUtil.isNotEmpty(mesApprovalRecord.getContent()), MesApprovalRecordEntity::getContent, mesApprovalRecord.getContent())
.orderByDesc(MesApprovalRecordEntity::getCreateTime));
Page<MyMesApprovalRecordVO> page1 = new Page<>();
if (!mesNotifyMessageVOPage.getRecords().isEmpty()){
List<MyMesApprovalRecordVO> recordVOList = new ArrayList<>(); List<MyMesApprovalRecordVO> recordVOList = new ArrayList<>();
myMesApprovalRecordVOList.forEach(entity -> { mesNotifyMessageVOPage.getRecords().forEach(entity -> {
MyMesApprovalRecordVO recordVO = new MyMesApprovalRecordVO(); MyMesApprovalRecordVO recordVO = new MyMesApprovalRecordVO();
BeanUtils.copyProperties(entity, recordVO); BeanUtils.copyProperties(entity, recordVO);
recordVO.setCreateUserName(AuthUtil.getUserName()); recordVO.setCreateUserName(AuthUtil.getUserName());
recordVOList.add(recordVO); recordVOList.add(recordVO);
}); });
return page.setRecords(recordVOList); page1.setRecords(recordVOList);
page1.setTotal(page.getTotal());
page1.setSize(page.getSize());
page1.setCurrent(page.getCurrent());
return page1;
} }
return page.setRecords(Collections.emptyList()); return page1;
} }
@Override @Override

@ -25,8 +25,13 @@
*/ */
package org.springblade.desk.common.service.impl; package org.springblade.desk.common.service.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.tool.utils.ObjectUtil;
import org.springblade.desk.common.mapper.MesNotifyMessageMapper; import org.springblade.desk.common.mapper.MesNotifyMessageMapper;
import org.springblade.desk.common.pojo.entity.MesNotifyMessageEntity; import org.springblade.desk.common.pojo.entity.MesNotifyMessageEntity;
import org.springblade.desk.common.pojo.vo.MesNotifyMessageVO; import org.springblade.desk.common.pojo.vo.MesNotifyMessageVO;
@ -49,19 +54,36 @@ import java.util.List;
public class MesNotifyMessageServiceImpl extends BaseServiceImpl<MesNotifyMessageMapper, MesNotifyMessageEntity> implements IMesNotifyMessageService { public class MesNotifyMessageServiceImpl extends BaseServiceImpl<MesNotifyMessageMapper, MesNotifyMessageEntity> implements IMesNotifyMessageService {
@Override @Override
public IPage<MesNotifyMessageVO> selectMesNotifyMessagePage(IPage<MesNotifyMessageVO> page, MesNotifyMessageVO mesNotifyMessage) { public IPage<MesNotifyMessageVO> selectMesNotifyMessagePage(Page<MesNotifyMessageEntity> page, MesNotifyMessageVO mesNotifyMessage) {
List<MesNotifyMessageEntity> mesNotifyMessageVOList = baseMapper.selectMesNotifyMessagePage(page, mesNotifyMessage); Page<MesNotifyMessageEntity> mesNotifyMessageVOList = this.page(page, new LambdaQueryWrapper<MesNotifyMessageEntity>()
if (!mesNotifyMessageVOList.isEmpty()){ .eq(StrUtil.isNotEmpty(mesNotifyMessage.getBizType()), MesNotifyMessageEntity::getBizType, mesNotifyMessage.getBizType())
.like(StrUtil.isNotEmpty(mesNotifyMessage.getContent()), MesNotifyMessageEntity::getContent, mesNotifyMessage.getContent())
.orderByDesc(MesNotifyMessageEntity::getCreateTime));
Page<MesNotifyMessageVO> page1 = new Page<>();
if (!mesNotifyMessageVOList.getRecords().isEmpty()){
List<MesNotifyMessageVO> mesNotifyMessageList = new ArrayList<>(); List<MesNotifyMessageVO> mesNotifyMessageList = new ArrayList<>();
mesNotifyMessageVOList.forEach(entity -> { mesNotifyMessageVOList.getRecords().forEach(entity -> {
MesNotifyMessageVO mesNotifyMessageVO = new MesNotifyMessageVO(); MesNotifyMessageVO mesNotifyMessageVO = new MesNotifyMessageVO();
BeanUtils.copyProperties(entity, mesNotifyMessageVO); BeanUtils.copyProperties(entity, mesNotifyMessageVO);
mesNotifyMessageVO.setCreateUserName(UserCache.getUser(mesNotifyMessageVO.getCreateUser()).getName()); mesNotifyMessageVO.setCreateUserName(UserCache.getUser(mesNotifyMessageVO.getCreateUser()).getName());
mesNotifyMessageList.add(mesNotifyMessageVO); mesNotifyMessageList.add(mesNotifyMessageVO);
}); });
return page.setRecords(mesNotifyMessageList); page1.setRecords(mesNotifyMessageList);
page1.setTotal(page.getTotal());
page1.setSize(page.getSize());
page1.setCurrent(page.getCurrent());
return page1;
}else {
return page1.setRecords(Collections.emptyList());
} }
return page.setRecords(Collections.emptyList()); }
@Override
public boolean updateReadStatus(List<Long> ids) {
this.update(new LambdaUpdateWrapper<MesNotifyMessageEntity>()
.in(MesNotifyMessageEntity::getId, ids)
.set(MesNotifyMessageEntity::getStatus, 1));
return true;
} }
} }

Loading…
Cancel
Save