|
@@ -1,25 +1,22 @@
|
|
|
package com.ym.mec.biz.service.impl;
|
|
|
|
|
|
-import com.ym.mec.biz.dal.dao.ImLiveBroadcastRoomDao;
|
|
|
-import com.ym.mec.biz.dal.dao.LiveGoodsDao;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.ym.mec.biz.dal.dao.LiveGoodsMapperDao;
|
|
|
import com.ym.mec.biz.dal.entity.ImLiveBroadcastRoom;
|
|
|
-import com.ym.mec.biz.dal.entity.ImLiveBroadcastRoomData;
|
|
|
-import com.ym.mec.biz.dal.entity.LiveGoods;
|
|
|
+import com.ym.mec.biz.dal.entity.LiveGoodsMapper;
|
|
|
import com.ym.mec.biz.service.ImLiveBroadcastRoomService;
|
|
|
-import com.ym.mec.biz.service.SysMessageService;
|
|
|
+import com.ym.mec.biz.service.LiveGoodsMapperService;
|
|
|
import com.ym.mec.common.dal.BaseDAO;
|
|
|
+import com.ym.mec.common.entity.ImRoomMessage;
|
|
|
import com.ym.mec.common.exception.BizException;
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import com.ym.mec.common.service.impl.BaseServiceImpl;
|
|
|
-import com.ym.mec.biz.dal.entity.LiveGoodsMapper;
|
|
|
-import com.ym.mec.biz.service.LiveGoodsMapperService;
|
|
|
-import com.ym.mec.biz.dal.dao.LiveGoodsMapperDao;
|
|
|
+import com.ym.mec.im.ImFeignService;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.util.List;
|
|
|
import java.util.Optional;
|
|
|
-import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
|
public class LiveGoodsMapperServiceImpl extends BaseServiceImpl<Integer, LiveGoodsMapper> implements LiveGoodsMapperService {
|
|
@@ -27,9 +24,7 @@ public class LiveGoodsMapperServiceImpl extends BaseServiceImpl<Integer, LiveGoo
|
|
|
@Autowired
|
|
|
private LiveGoodsMapperDao liveGoodsMapperDao;
|
|
|
@Autowired
|
|
|
- private SysMessageService sysMessageService;
|
|
|
- @Autowired
|
|
|
- private LiveGoodsDao liveGoodsDao;
|
|
|
+ private ImFeignService imFeignService;
|
|
|
@Autowired
|
|
|
private ImLiveBroadcastRoomService imLiveBroadcastRoomService;
|
|
|
|
|
@@ -50,23 +45,29 @@ public class LiveGoodsMapperServiceImpl extends BaseServiceImpl<Integer, LiveGoo
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void upGoods(Integer liveGoodsId, String liveId) {
|
|
|
liveGoodsMapperDao.updateStatus(liveId,liveGoodsId,true);
|
|
|
- LiveGoods liveGoods = Optional.of(liveGoodsDao.get(liveGoodsId)).
|
|
|
- orElseThrow(() -> new RuntimeException("商品不存在"));
|
|
|
- ImLiveBroadcastRoom imLiveBroadcastRoom = Optional.of(imLiveBroadcastRoomService.getById(liveId)).
|
|
|
+ ImLiveBroadcastRoom imLiveBroadcastRoom = Optional
|
|
|
+ .of(imLiveBroadcastRoomService.getBaseMapper().selectOne(new QueryWrapper<ImLiveBroadcastRoom>().eq("room_uid_",liveId))).
|
|
|
orElseThrow(() -> new RuntimeException("直播间不存在"));
|
|
|
//通知直播间商品上架
|
|
|
- sysMessageService.batchSendImGroupMessage(liveGoods.getName() + "已上架",
|
|
|
- imLiveBroadcastRoom.getSpeakerId().toString(),"",
|
|
|
- new String[]{imLiveBroadcastRoom.getId().toString()},"DY:LIVE_GOODS_UP");
|
|
|
+ this.publishRoomMsg(imLiveBroadcastRoom,ImRoomMessage.LIVE_GOODS_UP);
|
|
|
+ }
|
|
|
+
|
|
|
+ private void publishRoomMsg(ImLiveBroadcastRoom imLiveBroadcastRoom,String msgType) {
|
|
|
+ ImRoomMessage message = new ImRoomMessage();
|
|
|
+ message.setIsIncludeSender(1);
|
|
|
+ message.setObjectName(msgType);
|
|
|
+ message.setToChatroomId(imLiveBroadcastRoom.getRoomUid());
|
|
|
+ message.setFromUserId(imLiveBroadcastRoom.getSpeakerId().toString());
|
|
|
+ message.setContent(liveGoodsMapperDao.getLiveGoodsList(imLiveBroadcastRoom.getRoomUid()));
|
|
|
+ imFeignService.publishRoomMsg(message);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void downGoods(Integer liveGoodsId, String liveId){
|
|
|
- ImLiveBroadcastRoom imLiveBroadcastRoom = Optional.of(imLiveBroadcastRoomService.getById(liveId)).
|
|
|
+ ImLiveBroadcastRoom imLiveBroadcastRoom = Optional
|
|
|
+ .of(imLiveBroadcastRoomService.getBaseMapper().selectOne(new QueryWrapper<ImLiveBroadcastRoom>().eq("room_uid_",liveId))).
|
|
|
orElseThrow(() -> new RuntimeException("直播间不存在"));
|
|
|
- LiveGoods liveGoods = Optional.of(liveGoodsDao.get(liveGoodsId)).
|
|
|
- orElseThrow(() -> new RuntimeException("商品不存在"));
|
|
|
LiveGoodsMapper liveGoodsMapper = Optional.of(liveGoodsMapperDao.findByLiveIdAndGoodsId(liveId, liveGoodsId)).
|
|
|
orElseThrow(() -> new RuntimeException("直播间不存在该商品"));
|
|
|
if(!liveGoodsMapper.getStatus()){
|
|
@@ -75,28 +76,22 @@ public class LiveGoodsMapperServiceImpl extends BaseServiceImpl<Integer, LiveGoo
|
|
|
//下架直播间商品
|
|
|
liveGoodsMapperDao.updateStatus(liveId,liveGoodsId,false);
|
|
|
//通知直播间,商品下架
|
|
|
- sysMessageService.batchSendImGroupMessage(liveGoods.getName() + "已下架",
|
|
|
- imLiveBroadcastRoom.getSpeakerId().toString(),"",
|
|
|
- new String[]{imLiveBroadcastRoom.getId().toString()},"DY:LIVE_GOODS_DOWN");
|
|
|
+ this.publishRoomMsg(imLiveBroadcastRoom,ImRoomMessage.LIVE_GOODS_DOWN);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void downGoods(Integer liveGoodsId){
|
|
|
- LiveGoods liveGoods = Optional.of(liveGoodsDao.get(liveGoodsId)).
|
|
|
- orElseThrow(() -> new RuntimeException("商品不存在"));
|
|
|
List<LiveGoodsMapper> liveGoodsMappers = liveGoodsMapperDao.findByLiveGoodsIdAndStatus(liveGoodsId,true);
|
|
|
if(liveGoodsMappers.size()>0){
|
|
|
//下架直播间商品
|
|
|
liveGoodsMapperDao.updateStatus(null,liveGoodsId,false);
|
|
|
//通知直播间,商品下架
|
|
|
- String messageContent = liveGoods.getName() + "已下架";
|
|
|
for (LiveGoodsMapper liveGoodsMapper : liveGoodsMappers) {
|
|
|
- ImLiveBroadcastRoom imLiveBroadcastRoom = Optional.of(imLiveBroadcastRoomService.getById(liveGoodsMapper.getLiveId())).
|
|
|
+ ImLiveBroadcastRoom imLiveBroadcastRoom = Optional
|
|
|
+ .of(imLiveBroadcastRoomService.getBaseMapper().selectOne(new QueryWrapper<ImLiveBroadcastRoom>().eq("room_uid_",liveGoodsMapper.getLiveId()))).
|
|
|
orElseThrow(() -> new RuntimeException("直播间不存在"));
|
|
|
- sysMessageService.batchSendImGroupMessage(messageContent,
|
|
|
- imLiveBroadcastRoom.getSpeakerId().toString(),"",
|
|
|
- new String[]{imLiveBroadcastRoom.getId().toString()},"DY:LIVE_GOODS_DOWN");
|
|
|
+ this.publishRoomMsg(imLiveBroadcastRoom,ImRoomMessage.LIVE_GOODS_DOWN);
|
|
|
}
|
|
|
}
|
|
|
}
|