xiewj %!s(int64=2) %!d(string=hai) anos
pai
achega
117852b825

+ 5 - 0
src/main/java/com/fdkankan/site/service/IMarkingUserService.java

@@ -3,8 +3,11 @@ package com.fdkankan.site.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fdkankan.site.entity.Marking;
 import com.fdkankan.site.entity.MarkingUser;
+import com.fdkankan.site.entity.dto.UserDTO;
 import com.fdkankan.site.request.MarkingSearchParam;
 
+import java.util.List;
+
 /**
  * <p>
  *  服务类
@@ -18,4 +21,6 @@ public interface IMarkingUserService extends IService<MarkingUser> {
 
     void delByMarkingId(Integer markingId);
     void delByUserIdAndMarkingId(Integer userId,Integer markingId);
+
+    List<UserDTO> findByProjectIdAndMarkingId(Integer projectId, Integer markingId);
 }

+ 26 - 5
src/main/java/com/fdkankan/site/service/impl/MarkingServiceImpl.java

@@ -11,10 +11,12 @@ import com.fdkankan.site.common.ResultCode;
 import com.fdkankan.site.common.util.VUtils;
 import com.fdkankan.site.entity.*;
 import com.fdkankan.site.entity.dto.MarkingDTO;
+import com.fdkankan.site.entity.dto.UserDTO;
 import com.fdkankan.site.mapper.IMarkingMapper;
 import com.fdkankan.site.request.MarkingSearchParam;
 import com.fdkankan.site.service.IMarkingService;
 import com.fdkankan.site.service.IProjectLogService;
+import com.fdkankan.site.service.IMarkingUserService;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -26,16 +28,30 @@ import java.util.Optional;
 public class MarkingServiceImpl extends ServiceImpl<IMarkingMapper, Marking> implements IMarkingService {
     @Autowired
     IProjectLogService projectLogService;
+    @Autowired
+    IMarkingUserService markingUserService;
     @Override
     public Object pageList(MarkingSearchParam param) {
+//        VUtils.isTure(param.getProjectId() == null).throwMessage(ResultCode.PARAM_MISS);
+//        MPJLambdaWrapper<Marking> wrapper = new MPJLambdaWrapper<Marking>()
+//                .selectAll(Marking.class)
+//                .selectCollection(ProjectTeam.class, MarkingDTO::getUsers)
+//                .leftJoin(MarkingUser.class, MarkingUser::getMarkingId, Marking::getMarkingId)
+//                .leftJoin(ProjectTeam.class, ProjectTeam::getUserId, MarkingUser::getUserId)
+//                .eq(Marking::getProjectId,param.getProjectId())
+//                .eq(ProjectTeam::getProjectId,param.getProjectId());
+//        if (Optional.ofNullable(param.getMarkingStatus()).isPresent()) {
+//            wrapper.eq(Marking::getMarkingStatus,param.getMarkingStatus());
+//        }
+//        if (Optional.ofNullable(param.getMarkingTitle()).isPresent()&& StrUtil.isNotEmpty(param.getMarkingTitle())) {
+//            wrapper.like(Marking::getMarkingTitle,param.getMarkingTitle());
+//        }
+//        IPage<MarkingDTO> page = baseMapper.selectJoinPage(new Page<>(param.getPageNum(), param.getPageSize()), MarkingDTO.class, wrapper);
+
         VUtils.isTure(param.getProjectId() == null).throwMessage(ResultCode.PARAM_MISS);
         MPJLambdaWrapper<Marking> wrapper = new MPJLambdaWrapper<Marking>()
                 .selectAll(Marking.class)
-                .selectCollection(ProjectTeam.class, MarkingDTO::getUsers)
-                .leftJoin(MarkingUser.class, MarkingUser::getMarkingId, Marking::getMarkingId)
-                .leftJoin(ProjectTeam.class, ProjectTeam::getUserId, MarkingUser::getUserId)
-                .eq(Marking::getProjectId,param.getProjectId())
-                .eq(ProjectTeam::getProjectId,param.getProjectId());
+                .eq(Marking::getProjectId,param.getProjectId());
         if (Optional.ofNullable(param.getMarkingStatus()).isPresent()) {
             wrapper.eq(Marking::getMarkingStatus,param.getMarkingStatus());
         }
@@ -43,6 +59,11 @@ public class MarkingServiceImpl extends ServiceImpl<IMarkingMapper, Marking> imp
             wrapper.like(Marking::getMarkingTitle,param.getMarkingTitle());
         }
         IPage<MarkingDTO> page = baseMapper.selectJoinPage(new Page<>(param.getPageNum(), param.getPageSize()), MarkingDTO.class, wrapper);
+        for (MarkingDTO record : page.getRecords()) {
+            List<UserDTO> users = markingUserService.findByProjectIdAndMarkingId(record.getProjectId(), record.getMarkingId());
+            record.setUsers(users);
+        }
+
         return PageInfo.PageInfo(page);
     }
 

+ 20 - 0
src/main/java/com/fdkankan/site/service/impl/MarkingUserServiceImpl.java

@@ -3,11 +3,19 @@ package com.fdkankan.site.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.site.common.ResultCode;
+import com.fdkankan.site.common.util.VUtils;
 import com.fdkankan.site.entity.MarkingUser;
+import com.fdkankan.site.entity.ProjectTeam;
+import com.fdkankan.site.entity.dto.UserDTO;
 import com.fdkankan.site.mapper.IMarkingUserMapper;
 import com.fdkankan.site.service.IMarkingUserService;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+import java.util.Optional;
+
 @Service
 public class MarkingUserServiceImpl extends ServiceImpl<IMarkingUserMapper, MarkingUser> implements IMarkingUserService {
     @Override
@@ -24,4 +32,16 @@ public class MarkingUserServiceImpl extends ServiceImpl<IMarkingUserMapper, Mark
         wrapper.eq(MarkingUser::getMarkingId,markingId);
         this.baseMapper.delete(wrapper);
     }
+
+    @Override
+    public List<UserDTO> findByProjectIdAndMarkingId(Integer projectId, Integer markingId) {
+        VUtils.isTure(projectId== null).throwMessage(ResultCode.PARAM_MISS);
+        MPJLambdaWrapper<MarkingUser> wrapper = new MPJLambdaWrapper<MarkingUser>()
+                .selectAll(MarkingUser.class)
+                .leftJoin(ProjectTeam.class, ProjectTeam::getUserId, MarkingUser::getUserId)
+                .eq(MarkingUser::getMarkingId,markingId)
+                .eq(ProjectTeam::getProjectId,projectId);
+        List<UserDTO> list = baseMapper.selectJoinList( UserDTO.class, wrapper);
+        return list;
+    }
 }