lyhzzz 4 months ago
parent
commit
96c81f1953
19 changed files with 88 additions and 55 deletions
  1. 5 1
      doc/update1.10.9.sql
  2. 3 3
      src/main/java/com/fdkankan/ucenter/controller/ProductController.java
  3. 3 0
      src/main/java/com/fdkankan/ucenter/entity/ProductOrder.java
  4. 2 1
      src/main/java/com/fdkankan/ucenter/entity/SceneCooperation.java
  5. 2 1
      src/main/java/com/fdkankan/ucenter/entity/SceneCooperationCount.java
  6. 1 1
      src/main/java/com/fdkankan/ucenter/service/IProductOrderService.java
  7. 1 1
      src/main/java/com/fdkankan/ucenter/service/IProductService.java
  8. 3 3
      src/main/java/com/fdkankan/ucenter/service/ISceneCooperationCountService.java
  9. 2 2
      src/main/java/com/fdkankan/ucenter/service/ISceneCooperationService.java
  10. 1 1
      src/main/java/com/fdkankan/ucenter/service/ISceneDownloadLogService.java
  11. 1 1
      src/main/java/com/fdkankan/ucenter/service/impl/CameraServiceImpl.java
  12. 7 5
      src/main/java/com/fdkankan/ucenter/service/impl/DownService.java
  13. 5 1
      src/main/java/com/fdkankan/ucenter/service/impl/ProductCooperationServiceImpl.java
  14. 2 1
      src/main/java/com/fdkankan/ucenter/service/impl/ProductOrderServiceImpl.java
  15. 2 2
      src/main/java/com/fdkankan/ucenter/service/impl/ProductServiceImpl.java
  16. 7 4
      src/main/java/com/fdkankan/ucenter/service/impl/SceneCooperationCountServiceImpl.java
  17. 37 26
      src/main/java/com/fdkankan/ucenter/service/impl/SceneCooperationServiceImpl.java
  18. 2 1
      src/main/java/com/fdkankan/ucenter/service/impl/SceneDownloadLogServiceImpl.java
  19. 2 0
      src/main/java/com/fdkankan/ucenter/vo/request/SceneCooperationParam.java

+ 5 - 1
doc/update1.10.9.sql

@@ -95,4 +95,8 @@ CREATE TABLE `t_scene_cooperation_count` (
                                              `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
                                              `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
                                              PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
+
+
+ALTER TABLE `4dkankan_v4`.`t_scene_cooperation`
+    ADD COLUMN `scene_type` varchar(255) NULL DEFAULT 'mesh' AFTER `rec_status`;

+ 3 - 3
src/main/java/com/fdkankan/ucenter/controller/ProductController.java

@@ -32,9 +32,9 @@ public class ProductController extends BaseController {
         return Result.success(productService.getByKey(typeKey));
     }
 
-    @GetMapping("/getFreeCount/{num}")
-    public Result getFreeCount(@PathVariable String num){
-        return Result.success(productService.getFreeCount(num));
+    @GetMapping("/getFreeCount/{num}/{sceneType}")
+    public Result getFreeCount(@PathVariable String num,@PathVariable String sceneType){
+        return Result.success(productService.getFreeCount(num,sceneType));
     }
 }
 

+ 3 - 0
src/main/java/com/fdkankan/ucenter/entity/ProductOrder.java

@@ -108,4 +108,7 @@ public class ProductOrder implements Serializable {
 
     @TableField("camera_id")
     private Long cameraId;
+
+    @TableField("scene_type")
+    private String sceneType;
 }

+ 2 - 1
src/main/java/com/fdkankan/ucenter/entity/SceneCooperation.java

@@ -50,5 +50,6 @@ public class SceneCooperation implements Serializable {
     @TableLogic(value = "A",delval = "I")
     private String recStatus;
 
-
+    @TableField("scene_type")
+    private String sceneType;
 }

+ 2 - 1
src/main/java/com/fdkankan/ucenter/entity/SceneCooperationCount.java

@@ -44,5 +44,6 @@ public class SceneCooperationCount implements Serializable {
     @TableField("update_time")
     private Date updateTime;
 
-
+    @TableField("scene_type")
+    private String sceneType;
 }

+ 1 - 1
src/main/java/com/fdkankan/ucenter/service/IProductOrderService.java

@@ -16,7 +16,7 @@ import java.util.List;
  */
 public interface IProductOrderService extends IService<ProductOrder> {
 
-    ProductOrder createOrder(Integer totalCount, String key, User user,Integer payType, Integer timeZone,Long cameraId,String lang);
+    ProductOrder createOrder(Integer totalCount, String key, User user,Integer payType, Integer timeZone,Long cameraId,String lang,String sceneType);
 
     void handleOrder(String orderSn, String tradeNo, String openId, Integer payType);
 

+ 1 - 1
src/main/java/com/fdkankan/ucenter/service/IProductService.java

@@ -16,5 +16,5 @@ public interface IProductService extends IService<Product> {
 
     Product getByKey(String key);
 
-    Integer getFreeCount(String num);
+    Integer getFreeCount(String num,String sceneType);
 }

+ 3 - 3
src/main/java/com/fdkankan/ucenter/service/ISceneCooperationCountService.java

@@ -15,9 +15,9 @@ import java.util.List;
  */
 public interface ISceneCooperationCountService extends IService<SceneCooperationCount> {
 
-    void saveCount(List<String> numList, Integer size);
+    void saveCount(List<String> numList, Integer size,String sceneType);
 
-     List<SceneCooperationCount> getByNumList(List<String> numList);
+     List<SceneCooperationCount> getByNumList(List<String> numList,String sceneType);
 
-    SceneCooperationCount getByNum(String num);
+    SceneCooperationCount getByNum(String num,String sceneType);
 }

+ 2 - 2
src/main/java/com/fdkankan/ucenter/service/ISceneCooperationService.java

@@ -24,7 +24,7 @@ public interface ISceneCooperationService extends IService<SceneCooperation> {
     void deleteCooperationList(List<ScenePro> sceneProList, List<ScenePlus> scenePlusList,List<Long> userIds) ;
     void deleteCooperationList(List<String> numList,List<Long> userIds) ;
 
-    List<SceneCooperation> saveBatchByList(List<String> numList, List<Long> userId ,String type);
+    List<SceneCooperation> saveBatchByList(List<String> numList, List<Long> userId ,String type,String sceneType);
 
     JSONObject sceneResourceList(SceneCooperationParam param);
 
@@ -46,7 +46,7 @@ public interface ISceneCooperationService extends IService<SceneCooperation> {
 
     ProductOrder saveBatchCooperation(SceneCooperationParam param, String username);
 
-     void  successAddCooperation(List<String> numList,List<Long> userIds,Long loginUserId,Long cameraId,String lang);
+     void  successAddCooperation(List<String> numList,List<Long> userIds,Long loginUserId,Long cameraId,String lang,String sceneType);
 
 
      ProductOrder saveCamera(SceneCooperationParam param, String username);

+ 1 - 1
src/main/java/com/fdkankan/ucenter/service/ISceneDownloadLogService.java

@@ -13,5 +13,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface ISceneDownloadLogService extends IService<SceneDownloadLog> {
 
-    SceneDownloadLog getByStatusAndNum(String sceneNum, int status, Integer isUpgrade);
+    SceneDownloadLog getByStatusAndNum(String sceneNum, Integer status, Integer isUpgrade,Integer version);
 }

+ 1 - 1
src/main/java/com/fdkankan/ucenter/service/impl/CameraServiceImpl.java

@@ -341,7 +341,7 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
         numList.addAll(v3List);
         numList.addAll(v4List);
         if( !numList.isEmpty()){
-            sceneCooperationService.saveBatchByList(numList,Arrays.asList(user.getId()),"camera");
+            sceneCooperationService.saveBatchByList(numList,Arrays.asList(user.getId()),"camera",null);
         }
 
 

+ 7 - 5
src/main/java/com/fdkankan/ucenter/service/impl/DownService.java

@@ -76,15 +76,15 @@ public class DownService implements IDownService {
         }
         Integer sceneVersion = getSceneVersion(scenePro, plus);
 
-        sceneDownloadLog = sceneDownloadLogService.getByStatusAndNum(sceneNum,0,isUp);
+        sceneDownloadLog = sceneDownloadLogService.getByStatusAndNum(sceneNum,0,isUp,sceneVersion);
         DownVo downVo = new DownVo();
-        if(sceneDownloadLog != null){
+        if(sceneDownloadLog != null ){
             downVo.setDownloadStatus(1);
             return downVo;
         }
-        sceneDownloadLog = sceneDownloadLogService.getByStatusAndNum(sceneNum,1,isUp);
+        sceneDownloadLog = sceneDownloadLogService.getByStatusAndNum(sceneNum,1,isUp,sceneVersion);
         //3下载过,并且没有修改过
-        if(sceneDownloadLog != null && sceneDownloadLog.getSceneVersion().intValue() == sceneVersion){
+        if(sceneDownloadLog != null ){
             downVo.setDownloadStatus(3);
             downVo.setDownloadUrl(sceneDownloadLog.getDownloadUrl());
             return downVo;
@@ -225,7 +225,9 @@ public class DownService implements IDownService {
         if(scenePro == null){
             isUp = 1;
         }
-        SceneDownloadLog sceneDownloadLog = sceneDownloadLogService.getByStatusAndNum(sceneNum,0,isUp);
+        Integer sceneVersion = getSceneVersion(scenePro, plus);
+
+        SceneDownloadLog sceneDownloadLog = sceneDownloadLogService.getByStatusAndNum(sceneNum,0,isUp,sceneVersion);
 
         DownloadProcessVo downloadProcessVo = JSONObject.parseObject(result, DownloadProcessVo.class);
         if(sceneDownloadLog != null){

+ 5 - 1
src/main/java/com/fdkankan/ucenter/service/impl/ProductCooperationServiceImpl.java

@@ -68,6 +68,10 @@ public class ProductCooperationServiceImpl extends ServiceImpl<IProductCooperati
         List<String> numList = list.stream().map(ProductCooperation::getNum).collect(Collectors.toList());
         Set<Long> userIds = list.stream().map(ProductCooperation::getCooperationUserId).collect(Collectors.toSet());
 
-        sceneCooperationService.successAddCooperation(numList,new ArrayList<>(userIds),productOrder.getUserId(), productOrder.getCameraId(), productOrder.getLang());
+        if(productOrder.getCameraId() != null){
+            sceneCooperationService.successAddCooperation(numList,new ArrayList<>(userIds),productOrder.getUserId(), productOrder.getCameraId(), productOrder.getLang(),null);
+        }else {
+            sceneCooperationService.successAddCooperation(numList,new ArrayList<>(userIds),productOrder.getUserId(), null, productOrder.getLang(),productOrder.getSceneType());
+        }
     }
 }

+ 2 - 1
src/main/java/com/fdkankan/ucenter/service/impl/ProductOrderServiceImpl.java

@@ -41,7 +41,7 @@ public class ProductOrderServiceImpl extends ServiceImpl<IProductOrderMapper, Pr
 
 
     @Override
-    public ProductOrder createOrder(Integer totalCount, String key, User user,Integer payType, Integer timeZone,Long cameraId,String lang) {
+    public ProductOrder createOrder(Integer totalCount, String key, User user,Integer payType, Integer timeZone,Long cameraId,String lang,String sceneType) {
         ProductOrder productOrder = new ProductOrder();
 
         Product product = productService.getByKey(key);
@@ -57,6 +57,7 @@ public class ProductOrderServiceImpl extends ServiceImpl<IProductOrderMapper, Pr
         productOrder.setTimeZoneOff(timeZone);
         productOrder.setCameraId(cameraId);
         productOrder.setLang(lang);
+        productOrder.setSceneType(sceneType);
 
         PayGoods payGoods = new PayGoods(product.getName(),totalCount,4,1);
         PayOrderVo payOrderVo = payService.downOrder(price.multiply(new BigDecimal(totalCount)), "cooperationOrder",user.getUserName(),user.getNickName(), Arrays.asList(payGoods),null);

+ 2 - 2
src/main/java/com/fdkankan/ucenter/service/impl/ProductServiceImpl.java

@@ -38,8 +38,8 @@ public class ProductServiceImpl extends ServiceImpl<IProductMapper, Product> imp
     }
 
     @Override
-    public Integer getFreeCount(String num) {
-        SceneCooperationCount byNum = sceneCooperationCountService.getByNum(num);
+    public Integer getFreeCount(String num,String sceneType) {
+        SceneCooperationCount byNum = sceneCooperationCountService.getByNum(num,sceneType);
         if(byNum == null){
             return 1;
         }

+ 7 - 4
src/main/java/com/fdkankan/ucenter/service/impl/SceneCooperationCountServiceImpl.java

@@ -27,11 +27,11 @@ import java.util.stream.Collectors;
 public class SceneCooperationCountServiceImpl extends ServiceImpl<ISceneCooperationCountMapper, SceneCooperationCount> implements ISceneCooperationCountService {
 
     @Override
-    public void saveCount(List<String> numList, Integer size) {
+    public void saveCount(List<String> numList, Integer size,String sceneType) {
         if(numList == null || numList.isEmpty() || size <=1){
             return;
         }
-        List<SceneCooperationCount> sceneCooperationCounts = this.getByNumList(numList);
+        List<SceneCooperationCount> sceneCooperationCounts = this.getByNumList(numList,sceneType);
         Set<String> dbNumList = sceneCooperationCounts.stream().map(SceneCooperationCount::getNum).collect(Collectors.toSet());
         Set<String> addNumList = new HashSet<>(numList);
 
@@ -39,6 +39,7 @@ public class SceneCooperationCountServiceImpl extends ServiceImpl<ISceneCooperat
         for (String num : addNumList) {
             if(!dbNumList.contains(num)){
                 SceneCooperationCount count = new SceneCooperationCount();
+                count.setSceneType(sceneType);
                 count.setNum(num);
                 count.setCount(size);
                 saveList.add(count);
@@ -63,19 +64,21 @@ public class SceneCooperationCountServiceImpl extends ServiceImpl<ISceneCooperat
     }
 
     @Override
-    public List<SceneCooperationCount> getByNumList(List<String> numList) {
+    public List<SceneCooperationCount> getByNumList(List<String> numList,String sceneType) {
         if(numList == null || numList.isEmpty()){
             return new ArrayList<>();
         }
         LambdaQueryWrapper<SceneCooperationCount> wrapper = new LambdaQueryWrapper<>();
         wrapper.in(SceneCooperationCount::getNum,numList);
+        wrapper.eq(SceneCooperationCount::getSceneType,sceneType);
         return this.list(wrapper);
     }
 
     @Override
-    public SceneCooperationCount getByNum(String num) {
+    public SceneCooperationCount getByNum(String num,String sceneType) {
         LambdaQueryWrapper<SceneCooperationCount> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(SceneCooperationCount::getNum,num);
+        wrapper.eq(SceneCooperationCount::getSceneType,sceneType);
         List<SceneCooperationCount> list = this.list(wrapper);
         if(list == null || list.isEmpty()){
             return null;

+ 37 - 26
src/main/java/com/fdkankan/ucenter/service/impl/SceneCooperationServiceImpl.java

@@ -111,7 +111,7 @@ public class SceneCooperationServiceImpl extends ServiceImpl<ISceneCooperationMa
     }
 
     @Override
-    public List<SceneCooperation> saveBatchByList(List<String> numList,  List<Long> userIds,String type) {
+    public List<SceneCooperation> saveBatchByList(List<String> numList,  List<Long> userIds,String type,String sceneType) {
         List<SceneCooperation> list = new ArrayList<>();
         List<String> delList = new ArrayList<>();
 
@@ -138,6 +138,7 @@ public class SceneCooperationServiceImpl extends ServiceImpl<ISceneCooperationMa
                 SceneCooperation sceneCooperationEntity = new SceneCooperation();
                 sceneCooperationEntity.setUserId(userId);
                 sceneCooperationEntity.setSceneNum(num);
+                sceneCooperationEntity.setSceneType(sceneType);
                 sceneCooperationEntity.setRecStatus("A");
                 sceneCooperationEntity.setCreateTime(DateUserUtil.getDate(new Date()));
                 sceneCooperationEntity.setUpdateTime(DateUserUtil.getDate(new Date()));
@@ -272,7 +273,7 @@ public class SceneCooperationServiceImpl extends ServiceImpl<ISceneCooperationMa
         List<ScenePlus> plusList = scenePlusService.getListByNums(numList);
         //this.deleteCooperationList(proList,plusList,Arrays.asList(user.getId()));
 
-        saveCooperationCommon(loginUser,param.getLang(),Arrays.asList(user),proList,plusList,null,"scene");
+        saveCooperationCommon(loginUser,param.getLang(),Arrays.asList(user),proList,plusList,null,"scene","mesh");
     }
 
     @Override
@@ -306,10 +307,10 @@ public class SceneCooperationServiceImpl extends ServiceImpl<ISceneCooperationMa
         }
 
 
-        ProductOrder productOrder = checkNeedPay(numList, users, loginUser, param.getPayType(), param.getTimeZone(),null,param.getLang());
+        ProductOrder productOrder = checkNeedPay(numList, users, loginUser, param.getPayType(), param.getTimeZone(),null,param.getLang(),param.getSceneType());
 
         if(productOrder == null){
-            successAddCooperation(numList,users,param.getLang(),loginUser);
+            successAddCooperation(numList,users,param.getLang(),loginUser,param.getSceneType());
         }else {
             productCooperationService.add(productOrder,users,numList,null);
         }
@@ -351,9 +352,9 @@ public class SceneCooperationServiceImpl extends ServiceImpl<ISceneCooperationMa
         allList.addAll(v3NumList);
         allList.addAll(v4NumList);
 
-        ProductOrder productOrder = checkNeedPay(allList, Arrays.asList(user), loginUser, param.getPayType(), param.getTimeZone(),param.getCameraId(),param.getLang());
+        ProductOrder productOrder = checkNeedPay(allList, Arrays.asList(user), loginUser, param.getPayType(), param.getTimeZone(),param.getCameraId(),param.getLang(),null);
         if(productOrder == null){
-            successAddCooperation(v3List,v4List,Arrays.asList(user),param.getLang(),loginUser,Arrays.asList(camera));
+            successAddCooperation(v3List,v4List,Arrays.asList(user),param.getLang(),loginUser,Arrays.asList(camera),null);
             cameraDetailService.updateCooperationByIds(Arrays.asList(param.getCameraId()),user.getId());
         }else {
             productCooperationService.add(productOrder,Arrays.asList(user),allList,param.getCameraId());
@@ -362,17 +363,17 @@ public class SceneCooperationServiceImpl extends ServiceImpl<ISceneCooperationMa
         return productOrder;
     }
 
-    private void  successAddCooperation(List<String> numList, List<User> users, String lang, User loginUser){
+    private void  successAddCooperation(List<String> numList, List<User> users, String lang, User loginUser,String sceneType){
         List<ScenePro> proList = sceneProService.getListByNums(numList);
         List<ScenePlus> plusList = scenePlusService.getListByNums(numList);
         List<Long> userIds = users.stream().map(User::getId).collect(Collectors.toList());
         //this.deleteCooperationList(proList,plusList,userIds);
 
-        saveCooperationCommon(loginUser,lang,users,proList,plusList,null,"scene");
+        saveCooperationCommon(loginUser,lang,users,proList,plusList,null,"scene",sceneType);
     }
 
     @Override
-    public void  successAddCooperation(List<String> numList,List<Long> userIds,Long loginUserId,Long cameraId,String lang){
+    public void  successAddCooperation(List<String> numList,List<Long> userIds,Long loginUserId,Long cameraId,String lang,String sceneType){
         //this.deleteCooperationList(numList,userIds);
         List<ScenePro> proList = sceneProService.getListByNums(numList);
         List<ScenePlus> plusList = scenePlusService.getListByNums(numList);
@@ -380,27 +381,26 @@ public class SceneCooperationServiceImpl extends ServiceImpl<ISceneCooperationMa
         User user = userService.getById(loginUserId);
         if(cameraId != null ){
             Camera camera = cameraService.getById(cameraId);
-            saveCooperationCommon(user,lang,users,proList,plusList,Arrays.asList(camera),"camera");
+            saveCooperationCommon(user,lang,users,proList,plusList,Arrays.asList(camera),"camera",sceneType);
             cameraDetailService.updateCooperationByIds(Arrays.asList(cameraId),userIds.get(0));
         }else {
-            saveCooperationCommon(user,lang,users,proList,plusList,null,"scene");
-
+            saveCooperationCommon(user,lang,users,proList,plusList,null,"scene",sceneType);
         }
-        sceneCooperationCountService.saveCount(numList,userIds.size());
+        sceneCooperationCountService.saveCount(numList,userIds.size(),sceneType);
 
     }
 
-    private void  successAddCooperation(List<ScenePro> v3List,List<ScenePlus> v4List,List<User> users,String lang,User loginUser,List<Camera>cameraList){
+    private void  successAddCooperation(List<ScenePro> v3List,List<ScenePlus> v4List,List<User> users,String lang,User loginUser,List<Camera>cameraList,String sceneType){
         List<Long> userIds = users.stream().map(User::getId).collect(Collectors.toList());
         //this.deleteCooperationList(v3List,v4List,userIds);
-        saveCooperationCommon(loginUser,lang,users,v3List,v4List,cameraList,"camera");
+        saveCooperationCommon(loginUser,lang,users,v3List,v4List,cameraList,"camera",sceneType);
 
     }
 
 
 
-    private ProductOrder checkNeedPay(List<String> numList, List<User> users,User loginUser,Integer payType,Integer timeZone,Long cameraId,String lang) {
-        List<SceneCooperationCount> freeCountList = sceneCooperationCountService.getByNumList(numList);
+    private ProductOrder checkNeedPay(List<String> numList, List<User> users,User loginUser,Integer payType,Integer timeZone,Long cameraId,String lang,String sceneType) {
+        List<SceneCooperationCount> freeCountList = sceneCooperationCountService.getByNumList(numList,sceneType);
         HashMap<String,Integer> freeMap = new HashMap<>();
         freeCountList.forEach(e -> freeMap.put(e.getNum(),e.getCount()));
 
@@ -424,14 +424,14 @@ public class SceneCooperationServiceImpl extends ServiceImpl<ISceneCooperationMa
         if(totalCount <=0){
             return null;
         }
-        return productOrderService.createOrder(totalCount, "cooperation", loginUser, payType, timeZone,cameraId,lang);
+        return productOrderService.createOrder(totalCount, "cooperation", loginUser, payType, timeZone,cameraId,lang,sceneType);
 
     }
 
     @Autowired
     LaserService laserService;
 
-    private void saveCooperationCommon(User LoginUser,String lang,List<User> userList,List<ScenePro> proList, List<ScenePlus> plusList,List<Camera >cameraList,String type){
+    private void saveCooperationCommon(User LoginUser,String lang,List<User> userList,List<ScenePro> proList, List<ScenePlus> plusList,List<Camera >cameraList,String type,String sceneType){
 
         List<Long> userIds = userList.stream().map(User::getId).collect(Collectors.toList());
         Set<String> numList = new HashSet<>();
@@ -439,9 +439,22 @@ public class SceneCooperationServiceImpl extends ServiceImpl<ISceneCooperationMa
         List<String> v4List = plusList.stream().map(ScenePlus::getNum).collect(Collectors.toList());
         numList.addAll(v3List);
         numList.addAll(v4List);
+
+        List<ScenePro> collect1 = proList.stream().filter(e -> SceneSourceUtil.getLaserList().contains(e.getSceneSource())).collect(Collectors.toList());
+        List<ScenePlus> collect2 = plusList.stream().filter(e -> SceneSourceUtil.getLaserList().contains(e.getSceneSource())).collect(Collectors.toList());
+        Set<String> numList1 = collect1.stream().map(ScenePro::getNum).collect(Collectors.toSet());
+        Set<String> numList2 = collect2.stream().map(ScenePlus::getNum).collect(Collectors.toSet());
+        numList1.addAll(numList2);
+
+
         List<SceneCooperation> addList =new ArrayList<>();
         if( !numList.isEmpty()){
-            addList = this.saveBatchByList(new ArrayList<>(numList), userIds, type);
+            if(StringUtils.isBlank(sceneType)){
+                addList = this.saveBatchByList(new ArrayList<>(numList), userIds, type,"mesh");
+                if(!numList1.isEmpty()){
+                    this.saveBatchByList(new ArrayList<>(numList1), userIds, type,"laser");
+                }
+            }
         }
         List<Long> collect3 = addList.stream().map(SceneCooperation::getUserId).collect(Collectors.toList());
         for (User user : userList) {
@@ -457,18 +470,16 @@ public class SceneCooperationServiceImpl extends ServiceImpl<ISceneCooperationMa
                 }
             }
         }
-        List<ScenePro> collect1 = proList.stream().filter(e -> SceneSourceUtil.getLaserList().contains(e.getSceneSource())).collect(Collectors.toList());
-        List<ScenePlus> collect2 = plusList.stream().filter(e -> SceneSourceUtil.getLaserList().contains(e.getSceneSource())).collect(Collectors.toList());
-        Set<String> numList1 = collect1.stream().map(ScenePro::getNum).collect(Collectors.toSet());
-        Set<String> numList2 = collect2.stream().map(ScenePlus::getNum).collect(Collectors.toSet());
-        numList1.addAll(numList2);
+
 
         List<String> collect = userList.stream().map(User::getUserName).collect(Collectors.toList());
         List<String> snCodeList = new ArrayList<>();
         if(cameraList !=null ){
             snCodeList = cameraList.stream().map(Camera::getSnCode).collect(Collectors.toList());
         }
-        laserService.saveBatchCooperation(new ArrayList<>(numList1),snCodeList,LoginUser.getUserName(),collect,type);
+        if(StringUtils.isNotBlank(sceneType) || "laser".equals(sceneType)){
+            laserService.saveBatchCooperation(new ArrayList<>(numList1),snCodeList,LoginUser.getUserName(),collect,type);
+        }
 
     }
 

+ 2 - 1
src/main/java/com/fdkankan/ucenter/service/impl/SceneDownloadLogServiceImpl.java

@@ -21,7 +21,7 @@ import java.util.List;
 public class SceneDownloadLogServiceImpl extends ServiceImpl<ISceneDownloadLogMapper, SceneDownloadLog> implements ISceneDownloadLogService {
 
     @Override
-    public SceneDownloadLog getByStatusAndNum(String sceneNum, int status, Integer isUpgrade) {
+    public SceneDownloadLog getByStatusAndNum(String sceneNum, Integer status, Integer isUpgrade,Integer version) {
         LambdaQueryWrapper<SceneDownloadLog> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(SceneDownloadLog::getSceneNum,sceneNum);
         wrapper.eq(SceneDownloadLog::getStatus,status);
@@ -30,6 +30,7 @@ public class SceneDownloadLogServiceImpl extends ServiceImpl<ISceneDownloadLogMa
             sysVersion = "v4";
         }
         wrapper.eq(SceneDownloadLog::getSysVersion,sysVersion);
+        wrapper.eq(SceneDownloadLog::getSceneVersion,version);
         wrapper.orderByDesc(SceneDownloadLog::getCreateTime);
         List<SceneDownloadLog> list = this.list(wrapper);
         if(list != null && list.size() >0){

+ 2 - 0
src/main/java/com/fdkankan/ucenter/vo/request/SceneCooperationParam.java

@@ -22,4 +22,6 @@ public class SceneCooperationParam {
 
     private List<String> userNameList = new ArrayList<>();
 
+    private String sceneType="mesh";
+
 }