优化
This commit is contained in:
@ -0,0 +1,46 @@
|
||||
package com.ruoyi.zbf.domain.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* 消息对象 bgt_message
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-02-25
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@Accessors(chain = true)
|
||||
@ApiModel("总包方消息详情查询对象")
|
||||
public class ZbfMessageDetailDTO {
|
||||
|
||||
/** 分页大小 */
|
||||
@ApiModelProperty("分页大小")
|
||||
private Integer pageSize;
|
||||
/** 当前页数 */
|
||||
@ApiModelProperty("当前页数")
|
||||
private Integer pageNum;
|
||||
|
||||
@ApiModelProperty("日期")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate date;
|
||||
|
||||
@ApiModelProperty("大类型(字典fbs_message_large_type)")
|
||||
private String messageLargeType;
|
||||
|
||||
@ApiModelProperty("小类型(字典fbs_message_small_type)")
|
||||
private String messageSmallType;
|
||||
|
||||
@ApiModelProperty("是否待处理")
|
||||
private Boolean isHandle = false;
|
||||
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
package com.ruoyi.zbf.domain.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* 消息对象 bgt_message
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-02-25
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@Accessors(chain = true)
|
||||
@ApiModel("消息列表查询对象")
|
||||
public class ZbfMessageMyListDTO {
|
||||
|
||||
/** 分页大小 */
|
||||
@ApiModelProperty("分页大小")
|
||||
private Integer pageSize;
|
||||
/** 当前页数 */
|
||||
@ApiModelProperty("当前页数")
|
||||
private Integer pageNum;
|
||||
|
||||
}
|
@ -14,7 +14,7 @@ import javax.validation.constraints.NotNull;
|
||||
*/
|
||||
|
||||
@Data
|
||||
@ApiModel("App包工头工资申请分页查询对象")
|
||||
@ApiModel("App总包方工资申请审核")
|
||||
public class ZbfWageAuditDTO {
|
||||
|
||||
@ApiModelProperty("主键ID")
|
||||
@ -24,5 +24,6 @@ public class ZbfWageAuditDTO {
|
||||
@ApiModelProperty("审核状态(1审核中 2已审核 3未通过)")
|
||||
private String auditStatus;
|
||||
|
||||
|
||||
@ApiModelProperty("审核意见")
|
||||
private String auditOpinion;
|
||||
}
|
||||
|
@ -0,0 +1,36 @@
|
||||
package com.ruoyi.zbf.domain.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 消息对象 bgt_message
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-02-25
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@Accessors(chain = true)
|
||||
@ApiModel("分包商未读消息统计视图对象")
|
||||
public class ZbfMessageCountVO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
@ApiModelProperty("项目消息")
|
||||
private Integer taskMessageCount;
|
||||
|
||||
@ApiModelProperty("结算消息")
|
||||
private Integer settlementMessageCount;
|
||||
|
||||
@ApiModelProperty("其他消息")
|
||||
private Integer otherMessageCount;
|
||||
|
||||
@ApiModelProperty("待处理消息")
|
||||
private Integer handleMessageCount;
|
||||
}
|
@ -0,0 +1,58 @@
|
||||
package com.ruoyi.zbf.domain.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 消息对象 bgt_message
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-02-25
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@Accessors(chain = true)
|
||||
@ApiModel("总包方消息列表详情视图对象")
|
||||
public class ZbfMessageDetailVO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
@ApiModelProperty("主键自增ID")
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty("发送人")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||
private Long senderId;
|
||||
|
||||
@ApiModelProperty("表ID")
|
||||
private Long tableId;
|
||||
|
||||
@ApiModelProperty("标题")
|
||||
private String headline;
|
||||
|
||||
@ApiModelProperty("副标题")
|
||||
private String subheading;
|
||||
|
||||
@ApiModelProperty("大类型(字典fbs_message_large_type)")
|
||||
private String messageLargeType;
|
||||
|
||||
@ApiModelProperty("小类型(字典fbs_message_small_type)")
|
||||
private String messageSmallType;
|
||||
|
||||
@ApiModelProperty("读状态(0未读 1已读)")
|
||||
private String readStatus;
|
||||
|
||||
@ApiModelProperty("创建时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@ApiModelProperty("是否需要操作(0不需要 1需要 2已操作)")
|
||||
private String isOperation ;
|
||||
}
|
@ -0,0 +1,55 @@
|
||||
package com.ruoyi.zbf.domain.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 消息对象 bgt_message
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-02-25
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@Accessors(chain = true)
|
||||
@ApiModel("总包方消息列表视图对象")
|
||||
public class ZbfMessageVO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
@ApiModelProperty("主键自增ID")
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty("表ID")
|
||||
private Long tableId;
|
||||
|
||||
@ApiModelProperty("发送人")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||
private Long senderId;
|
||||
|
||||
@ApiModelProperty("标题")
|
||||
private String headline;
|
||||
|
||||
@ApiModelProperty("副标题")
|
||||
private String subheading;
|
||||
|
||||
@ApiModelProperty("大类型(字典fbs_message_large_type)")
|
||||
private String messageLargeType;
|
||||
|
||||
@ApiModelProperty("小类型(字典fbs_message_small_type)")
|
||||
private String messageSmallType;
|
||||
|
||||
@ApiModelProperty("读状态(0未读 1已读)")
|
||||
private String readStatus;
|
||||
|
||||
@ApiModelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
@ -4,6 +4,11 @@ import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.zbf.bo.ZbfMessageQueryBo;
|
||||
import com.ruoyi.zbf.domain.ZbfMessage;
|
||||
import com.ruoyi.zbf.domain.dto.ZbfMessageDetailDTO;
|
||||
import com.ruoyi.zbf.domain.dto.ZbfMessageMyListDTO;
|
||||
import com.ruoyi.zbf.domain.vo.ZbfMessageCountVO;
|
||||
import com.ruoyi.zbf.domain.vo.ZbfMessageDetailVO;
|
||||
import com.ruoyi.zbf.domain.vo.ZbfMessageVO;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
@ -68,5 +73,18 @@ public interface IZbfMessageService extends IServicePlus<ZbfMessage> {
|
||||
*/
|
||||
void operationBatch(String recipientType,Long recipientId,List<Long> tableIds,String tableName);
|
||||
|
||||
/**
|
||||
* 总包方的未读消息统计
|
||||
*/
|
||||
ZbfMessageCountVO countUnread();
|
||||
|
||||
/**
|
||||
* 总包方消息列表
|
||||
*/
|
||||
TableDataInfo<ZbfMessageVO> queryMyPageList(ZbfMessageMyListDTO dto);
|
||||
|
||||
/**
|
||||
* 消息详情列表
|
||||
*/
|
||||
TableDataInfo<ZbfMessageDetailVO> queryDetailPageList(ZbfMessageDetailDTO dto);
|
||||
}
|
||||
|
@ -8,18 +8,28 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.enums.BgtMessageType;
|
||||
import com.ruoyi.common.utils.PageUtils;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.zbf.bo.ZbfMessageQueryBo;
|
||||
import com.ruoyi.zbf.domain.ZbfMessage;
|
||||
import com.ruoyi.zbf.domain.dto.ZbfMessageDetailDTO;
|
||||
import com.ruoyi.zbf.domain.dto.ZbfMessageMyListDTO;
|
||||
import com.ruoyi.zbf.domain.vo.ZbfMessageCountVO;
|
||||
import com.ruoyi.zbf.domain.vo.ZbfMessageDetailVO;
|
||||
import com.ruoyi.zbf.domain.vo.ZbfMessageVO;
|
||||
import com.ruoyi.zbf.mapper.ZbfMessageMapper;
|
||||
import com.ruoyi.zbf.service.IZbfMessageService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.LocalTime;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.ruoyi.common.constants.WgzAndBgtMessageConstant.OPERATION_ALREADY;
|
||||
import static com.ruoyi.common.constants.WgzAndBgtMessageConstant.OPERATION_NEED;
|
||||
|
||||
/**
|
||||
* 消息Service业务层处理
|
||||
@ -124,4 +134,52 @@ public class ZbfMessageServiceImpl extends ServicePlusImpl<ZbfMessageMapper, Zbf
|
||||
update(wrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ZbfMessageCountVO countUnread() {
|
||||
List<ZbfMessage> zbfMessages = baseMapper.selectList(Wrappers.<ZbfMessage>lambdaQuery()
|
||||
.eq(ZbfMessage::getRecipientId, SecurityUtils.getAppUserId())
|
||||
.eq(ZbfMessage::getReadStatus, "0"));
|
||||
Map<String, Long> map = zbfMessages.stream().collect(Collectors.groupingBy(ZbfMessage::getMessageLargeType, Collectors.counting()));
|
||||
|
||||
ZbfMessageCountVO zbfMessageCountVO = new ZbfMessageCountVO();
|
||||
zbfMessageCountVO.setTaskMessageCount(map.getOrDefault(BgtMessageType.TASK.getCode(), 0L).intValue());
|
||||
zbfMessageCountVO.setSettlementMessageCount(map.getOrDefault(BgtMessageType.SETTLEMENT.getCode(), 0L).intValue());
|
||||
zbfMessageCountVO.setOtherMessageCount(map.getOrDefault(BgtMessageType.OTHER.getCode(), 0L).intValue());
|
||||
|
||||
Integer handle = baseMapper.selectCount(Wrappers.<ZbfMessage>lambdaQuery()
|
||||
.eq(ZbfMessage::getRecipientId, SecurityUtils.getAppUserId())
|
||||
.eq(ZbfMessage::getIsOperation, OPERATION_NEED));
|
||||
zbfMessageCountVO.setHandleMessageCount(handle);
|
||||
return zbfMessageCountVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TableDataInfo<ZbfMessageVO> queryMyPageList(ZbfMessageMyListDTO dto) {
|
||||
LambdaQueryWrapper<ZbfMessage> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(ZbfMessage::getRecipientId, SecurityUtils.getAppUserId());
|
||||
wrapper.orderByDesc(ZbfMessage::getCreateTime);
|
||||
Page<ZbfMessage> result = page(PageUtils.buildPage(), wrapper);
|
||||
Page<ZbfMessageVO> page = new Page<>();
|
||||
page.setTotal(result.getTotal());
|
||||
page.setRecords(BeanUtil.copyToList(result.getRecords(), ZbfMessageVO.class));
|
||||
return PageUtils.buildDataInfo(page);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TableDataInfo<ZbfMessageDetailVO> queryDetailPageList(ZbfMessageDetailDTO dto) {
|
||||
LambdaQueryWrapper<ZbfMessage> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(ZbfMessage::getRecipientId, SecurityUtils.getAppUserId());
|
||||
wrapper.eq(StrUtil.isNotBlank(dto.getMessageLargeType()), ZbfMessage::getMessageLargeType, dto.getMessageLargeType());
|
||||
wrapper.eq(StrUtil.isNotBlank(dto.getMessageSmallType()), ZbfMessage::getMessageSmallType, dto.getMessageSmallType());
|
||||
wrapper.eq(dto.getIsHandle(), ZbfMessage::getIsOperation,OPERATION_NEED);
|
||||
if(dto.getDate() != null) {
|
||||
wrapper.between(ZbfMessage::getCreateTime, dto.getDate().atStartOfDay(), dto.getDate().atStartOfDay().with(LocalTime.MAX));
|
||||
}
|
||||
wrapper.orderByDesc(ZbfMessage::getId);
|
||||
Page<ZbfMessage> result = page(PageUtils.buildPage(), wrapper);
|
||||
Page<ZbfMessageDetailVO> page = new Page<>();
|
||||
page.setTotal(result.getTotal());
|
||||
page.setRecords(BeanUtil.copyToList(result.getRecords(), ZbfMessageDetailVO.class));
|
||||
return PageUtils.buildDataInfo(page);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user