|
@@ -2,11 +2,16 @@ package com.fdkankan.ucenter.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
+import com.fdkankan.common.constant.ErrorCode;
|
|
|
+import com.fdkankan.common.exception.BusinessException;
|
|
|
import com.fdkankan.common.response.PageInfo;
|
|
|
+import com.fdkankan.ucenter.entity.ScenePlus;
|
|
|
+import com.fdkankan.ucenter.entity.ScenePlusExt;
|
|
|
import com.fdkankan.ucenter.entity.ScenePlusVoid;
|
|
|
import com.fdkankan.ucenter.entity.User;
|
|
|
import com.fdkankan.ucenter.mapper.IScenePlusVoidMapper;
|
|
|
import com.fdkankan.ucenter.service.IFusionService;
|
|
|
+import com.fdkankan.ucenter.service.IScenePlusService;
|
|
|
import com.fdkankan.ucenter.service.IScenePlusVoidService;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.fdkankan.ucenter.service.IUserService;
|
|
@@ -14,6 +19,8 @@ import com.fdkankan.ucenter.vo.request.SceneParam;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.sql.BatchUpdateException;
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -32,21 +39,26 @@ public class ScenePlusVoidServiceImpl extends ServiceImpl<IScenePlusVoidMapper,
|
|
|
IFusionService fusionService;
|
|
|
@Autowired
|
|
|
IUserService userService;
|
|
|
+ @Autowired
|
|
|
+ IScenePlusService scenePlusService;
|
|
|
|
|
|
@Override
|
|
|
- public void setStatus(String num, Integer type,String token) {
|
|
|
+ public void setStatus(Long plusId, Integer type,String token) {
|
|
|
+ if(plusId == null || type == null){
|
|
|
+ throw new BusinessException(ErrorCode.MISSING_REQUIRED_PARAMETERS);
|
|
|
+ }
|
|
|
if(type == 0){
|
|
|
User user = userService.getByToken(token);
|
|
|
ScenePlusVoid plusVoid = new ScenePlusVoid();
|
|
|
plusVoid.setUserId(user.getId());
|
|
|
- plusVoid.setNum(num);
|
|
|
+ plusVoid.setPlusId(plusId);
|
|
|
this.save(plusVoid);
|
|
|
}else{
|
|
|
LambdaUpdateWrapper<ScenePlusVoid> wrapper = new LambdaUpdateWrapper<>();
|
|
|
if(type == 1){
|
|
|
- wrapper.eq(ScenePlusVoid::getNum,num).set(ScenePlusVoid::getStatus,1);
|
|
|
+ wrapper.eq(ScenePlusVoid::getPlusId,plusId).set(ScenePlusVoid::getStatus,1);
|
|
|
}else {
|
|
|
- wrapper.eq(ScenePlusVoid::getNum,num).set(ScenePlusVoid::getStatus,2);
|
|
|
+ wrapper.eq(ScenePlusVoid::getPlusId,plusId).set(ScenePlusVoid::getStatus,2);
|
|
|
}
|
|
|
this.update(wrapper);
|
|
|
}
|
|
@@ -61,9 +73,25 @@ public class ScenePlusVoidServiceImpl extends ServiceImpl<IScenePlusVoidMapper,
|
|
|
wrapper.eq(ScenePlusVoid::getStatus,1)
|
|
|
.eq(ScenePlusVoid::getUserId,user.getId());
|
|
|
List<ScenePlusVoid> list = this.list(wrapper);
|
|
|
- List<String> numList = list.parallelStream().map(ScenePlusVoid::getNum).collect(Collectors.toList());
|
|
|
- param.setNumList(numList);
|
|
|
+ if(list.size() >0){
|
|
|
+ List<Long> plusIds = list.parallelStream().map(ScenePlusVoid::getPlusId).collect(Collectors.toList());
|
|
|
+ List<ScenePlus> plusList = scenePlusService.getByIds(plusIds);
|
|
|
+ if(plusList.size() >0){
|
|
|
+ List<String> numList = plusList.parallelStream().map(ScenePlus::getNum).collect(Collectors.toList());
|
|
|
+ param.setNumList(numList);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
return fusionService.scenePageList(param,token);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public HashMap<Long, ScenePlusVoid> getByPlusIds(List<Long> plusIds) {
|
|
|
+ LambdaQueryWrapper<ScenePlusVoid> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.in(ScenePlusVoid::getPlusId,plusIds);
|
|
|
+ List<ScenePlusVoid> list = this.list(wrapper);
|
|
|
+ HashMap<Long,ScenePlusVoid> map = new HashMap<>();
|
|
|
+ list.forEach(entity -> map.put(entity.getPlusId(),entity));
|
|
|
+ return map;
|
|
|
+ }
|
|
|
}
|