Browse Source

小小训练营活动

zouxuan 3 years ago
parent
commit
1004c3681d

+ 3 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ImGroupDao.java

@@ -18,7 +18,9 @@ public interface ImGroupDao extends BaseDAO<Long, ImGroup> {
 	 * @param search
 	 * @return
 	 */
-	List<ImGroup> queryByUserId(@Param("userId") Integer userId, @Param("search") String search);
+	List<ImGroup> queryByUserId(@Param("userId") Integer userId,
+								@Param("search") String search,
+								@Param("ignoreIds") String ignoreIds);
 
 	/**
 	 * 查询群成员列表

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/ImGroupService.java

@@ -35,7 +35,7 @@ public interface ImGroupService extends BaseService<Long, ImGroup> {
 	 * @param search
 	 * @return
 	 */
-	List<ImGroup> queryByUserId(Integer userId, String search);
+	List<ImGroup> queryByUserId(Integer userId, String search,String ignoreIds);
 
 	/**
 	 * 查询群成员列表

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/ImSendGroupMessageService.java

@@ -14,4 +14,6 @@ public interface ImSendGroupMessageService extends BaseService<Long, ImSendGroup
 
     //修改未发送的群消息
     void updateGroupMessage(ImSendGroupMessage imSendGroupMessage);
+
+    void deleteGroupMessage(Long id);
 }

+ 5 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImGroupServiceImpl.java

@@ -112,12 +112,12 @@ public class ImGroupServiceImpl extends BaseServiceImpl<Long, ImGroup> implement
 		return true;
 	}
 
-	@Override
-	public List<ImGroup> queryByUserId(Integer userId, String search) {
-		return imGroupDao.queryByUserId(userId, search);
-	}
+    @Override
+    public List<ImGroup> queryByUserId(Integer userId, String search, String ignoreIds) {
+		return imGroupDao.queryByUserId(userId, search,ignoreIds);
+    }
 
-	@Override
+    @Override
 	public List<ImGroupMemberDto> queryMemberById(Long imGroupId) {
 		return imGroupDao.queryMemberById(imGroupId);
 	}

+ 21 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImSendGroupMessageServiceImpl.java

@@ -1,5 +1,7 @@
 package com.ym.mec.biz.service.impl;
 
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.ImSendGroupMessageDao;
 import com.ym.mec.biz.dal.entity.ImSendGroupMessage;
 import com.ym.mec.biz.dal.enums.ImSendTypeEnum;
@@ -23,6 +25,7 @@ import java.net.URL;
 import java.util.Date;
 import java.util.List;
 import java.util.Objects;
+import java.util.Optional;
 
 @Service
 public class ImSendGroupMessageServiceImpl extends BaseServiceImpl<Long, ImSendGroupMessage>  implements ImSendGroupMessageService {
@@ -31,6 +34,8 @@ public class ImSendGroupMessageServiceImpl extends BaseServiceImpl<Long, ImSendG
 	private ImSendGroupMessageDao imSendGroupMessageDao;
 	@Autowired
 	private SysMessageService sysMessageService;
+	@Autowired
+	private SysUserFeignService sysUserFeignService;
 
 	@Override
 	public BaseDAO<Long, ImSendGroupMessage> getDAO() {
@@ -53,6 +58,8 @@ public class ImSendGroupMessageServiceImpl extends BaseServiceImpl<Long, ImSendG
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public void sendGroupMessage(ImSendGroupMessage messageDto) throws Exception {
+		SysUser user = Optional.of(sysUserFeignService.queryUserInfo()).orElseThrow(() -> new BizException("用户不存在"));
+		messageDto.setSenderId(user.getId().toString());
 		if(Objects.isNull(messageDto.getSendTime())){
 			messageDto.setSendFlag(true);
 			send(messageDto);
@@ -73,7 +80,20 @@ public class ImSendGroupMessageServiceImpl extends BaseServiceImpl<Long, ImSendG
 		imSendGroupMessageDao.update(imSendGroupMessage);
 	}
 
-	private void send(ImSendGroupMessage messageDto) throws Exception {
+    @Override
+	@Transactional(rollbackFor = Exception.class)
+    public void deleteGroupMessage(Long id) {
+        ImSendGroupMessage message = imSendGroupMessageDao.get(id);
+        if(Objects.isNull(message)){
+            throw new BizException("消息不存在");
+        }
+        if(message.getSendFlag()){
+            throw new BizException("消息已发送");
+        }
+        imSendGroupMessageDao.delete(id);
+    }
+
+    private void send(ImSendGroupMessage messageDto) throws Exception {
 		if (Objects.equals(messageDto.getMessageType(), ImSendTypeEnum.IMG)) {
 			String content = imageToBase64(Thumbnails.of(new URL(messageDto.getFileUrl())).scale(0.5f).outputQuality(0.25f).asBufferedImage());
 			sysMessageService.batchSendImGroupMessage(content,messageDto.getSenderId(),

+ 5 - 2
mec-biz/src/main/resources/config/mybatis/ImGroupMapper.xml

@@ -128,8 +128,11 @@
 		SELECT ig.* FROM im_group_member igm
 		LEFT JOIN im_group ig ON igm.im_group_id_ = ig.id_
 		where igm.user_id_ = #{userId}
-		<if test="search != null">
-			and (ig.name_ like concat('%',#{search},'%') or ig.tags_ like concat('%',#{search},'%'))
+		<if test="search != null and search != ''">
+			AND (ig.name_ like concat('%',#{search},'%') or ig.tags_ like concat('%',#{search},'%'))
+		</if>
+		<if test="ignoreIds != null and ignoreIds != ''">
+			AND NOT FIND_IN_SET(ig.id_,#{ignoreIds})
 		</if>
 	</select>
 	

+ 1 - 1
mec-student/src/main/java/com/ym/mec/student/controller/ImGroupController.java

@@ -45,7 +45,7 @@ public class ImGroupController extends BaseController {
 			return failed(HttpStatus.FORBIDDEN, "请登录");
 		}
 
-		return succeed(imGroupService.queryByUserId(sysUser.getId(), search));
+		return succeed(imGroupService.queryByUserId(sysUser.getId(), search,null));
 	}
 
 	@ApiOperation("查询群详情")

+ 1 - 1
mec-teacher/src/main/java/com/ym/mec/teacher/controller/ImGroupController.java

@@ -48,7 +48,7 @@ public class ImGroupController extends BaseController {
 			return failed(HttpStatus.FORBIDDEN, "请登录");
 		}
 
-		return succeed(imGroupService.queryByUserId(sysUser.getId(), search));
+		return succeed(imGroupService.queryByUserId(sysUser.getId(), search,null));
 	}
 
 	@ApiOperation("查询群详情")

+ 2 - 4
mec-web/src/main/java/com/ym/mec/web/controller/ImGroupController.java

@@ -5,7 +5,6 @@ import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dto.ImGroupMemberDto;
 import com.ym.mec.biz.dal.dto.ImUserFriendDto;
 import com.ym.mec.biz.dal.entity.ImGroup;
-import com.ym.mec.biz.dal.entity.ImSendGroupMessage;
 import com.ym.mec.biz.dal.page.ImGroupNoticeQueryInfo;
 import com.ym.mec.biz.service.ImGroupMemberService;
 import com.ym.mec.biz.service.ImGroupNoticeService;
@@ -51,13 +50,12 @@ public class ImGroupController extends BaseController {
 
 	@ApiOperation("查询群列表")
 	@GetMapping(value = "/queryGroupList")
-	public HttpResponseResult<List<ImGroup>> queryGroupList(String search) {
+	public HttpResponseResult<List<ImGroup>> queryGroupList(String search,String ignoreIds) {
 		SysUser sysUser = sysUserFeignService.queryUserInfo();
 		if (Objects.isNull(sysUser)) {
 			return failed(HttpStatus.FORBIDDEN, "请登录");
 		}
-
-		return succeed(imGroupService.queryByUserId(sysUser.getId(), search));
+		return succeed(imGroupService.queryByUserId(sysUser.getId(), search,ignoreIds));
 	}
 
 	@ApiOperation("查询群详情")

+ 7 - 0
mec-web/src/main/java/com/ym/mec/web/controller/ImSendGroupMessageController.java

@@ -33,4 +33,11 @@ public class ImSendGroupMessageController extends BaseController {
         imSendGroupMessageService.updateGroupMessage(imSendGroupMessage);
         return succeed();
     }
+
+    @ApiOperation("删除未发送的群消息")
+    @PostMapping(value = "/delete")
+    public HttpResponseResult delete(Long id) throws Exception {
+        imSendGroupMessageService.deleteGroupMessage(id);
+        return succeed();
+    }
 }