فهرست منبع

oa 日报功能bug修改

24282 2 سال پیش
والد
کامیت
69db75122f

+ 1 - 1
hx-oa/src/main/java/com/fjhx/oa/controller/daily/DailyReportController.java

@@ -77,7 +77,7 @@ public class DailyReportController {
      * 分享日报
      */
     @PostMapping("/share")
-    public void share(DailyReportDto dto) {
+    public void share(@RequestBody DailyReportDto dto) {
         dailyReportService.share(dto.getId(), dto.getToUserId());
     }
 

+ 17 - 2
hx-oa/src/main/java/com/fjhx/oa/entity/daily/vo/DailyReportVo.java

@@ -4,6 +4,8 @@ import com.fjhx.oa.entity.daily.po.DailyReport;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.List;
+
 /**
  * 日报列表查询返回值实体
  *
@@ -33,17 +35,30 @@ public class DailyReportVo extends DailyReport {
      * 我发送日报数量
      */
     private Long quantitySent;
+
     /**
      * 我接收日报数量
      */
     private Long receivedQuantity;
+
     /**
      * 今日发送日报的数量
      */
     private Long quantitySentToday;
-    /**周几*/
+
+    /**
+     * 周几
+     */
     private Integer week;
-    /**创建日期*/
+
+    /**
+     * 创建日期
+     */
     private String date;
 
+    /**
+     * 接收人列表
+     */
+    private List<DailyReportDetailsVo> detailsList;
+
 }

+ 19 - 12
hx-oa/src/main/java/com/fjhx/oa/service/daily/impl/DailyReportServiceImpl.java

@@ -1,5 +1,6 @@
 package com.fjhx.oa.service.daily.impl;
 
+import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
@@ -11,11 +12,13 @@ import com.fjhx.oa.entity.daily.dto.DailyReportDto;
 import com.fjhx.oa.entity.daily.dto.DailyReportSelectDto;
 import com.fjhx.oa.entity.daily.po.DailyReport;
 import com.fjhx.oa.entity.daily.po.DailyReportDetails;
+import com.fjhx.oa.entity.daily.vo.DailyReportDetailsVo;
 import com.fjhx.oa.entity.daily.vo.DailyReportVo;
 import com.fjhx.oa.mapper.daily.DailyReportMapper;
 import com.fjhx.oa.service.daily.DailyReportDetailsService;
 import com.fjhx.oa.service.daily.DailyReportService;
 import com.fjhx.socket.service.WebSocketServer;
+import com.ruoyi.common.constant.StatusConstant;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.ruoyi.system.utils.UserUtil;
@@ -23,10 +26,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.text.SimpleDateFormat;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 
@@ -79,15 +79,22 @@ public class DailyReportServiceImpl extends ServiceImpl<DailyReportMapper, Daily
     @Override
     public DailyReportVo detail(Long id) {
         DailyReportVo result = baseMapper.detail(id);
-        Map<Long, String> nickNameMapByIds = UserUtil.getNickNameMapByIds(Arrays.asList(result.getCreateUser()));
+        Map<Long, String> nickNameMapByIds = UserUtil.getNickNameMapByIds(Collections.singletonList(result.getCreateUser()));
         result.setUserName(nickNameMapByIds.get(result.getCreateUser()));
-        //添加已读记录
-        Long userid = SecurityUtils.getUserId();
-        DailyReportDetails dailyReportDetails = dailyReportDetailsService.getOne(q -> q.eq(DailyReportDetails::getDailyReportId, id).eq(DailyReportDetails::getRecipientId, userid));
-        if (ObjectUtil.isNotEmpty(dailyReportDetails)) {
-            dailyReportDetails.setIsRead(1);
-            dailyReportDetailsService.updateById(dailyReportDetails);
-        }
+
+        // 添加已读记录
+        dailyReportDetailsService.update(q -> q
+                .eq(DailyReportDetails::getDailyReportId, id)
+                .eq(DailyReportDetails::getRecipientId, SecurityUtils.getUserId())
+                .set(DailyReportDetails::getIsRead, StatusConstant.YES)
+        );
+
+        // 接收人列表
+        List<DailyReportDetails> detailsList = dailyReportDetailsService.list(q -> q.eq(DailyReportDetails::getDailyReportId, id));
+        List<DailyReportDetailsVo> detailsVoList = BeanUtil.copyToList(detailsList, DailyReportDetailsVo.class);
+        UserUtil.assignmentNickName(detailsVoList, DailyReportDetails::getRecipientId, DailyReportDetailsVo::setRecipientName);
+        result.setDetailsList(detailsVoList);
+
         return result;
     }