소스 검색

Merge branch 'test' into releases

lyhzzz 2 년 전
부모
커밋
da95115dbe

+ 1 - 0
src/main/java/com/fdkankan/ucenter/controller/DeviceSceneController.java

@@ -47,6 +47,7 @@ public class DeviceSceneController extends BaseController {
         return Result.success(pageInfo);
     }
 
+
     /**
      * 删除场景
      * @return

+ 25 - 1
src/main/java/com/fdkankan/ucenter/controller/FolderController.java

@@ -3,11 +3,15 @@ package com.fdkankan.ucenter.controller;
 
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.util.JwtUtil;
+import com.fdkankan.ucenter.common.BaseController;
 import com.fdkankan.ucenter.common.Result;
 import com.fdkankan.ucenter.constant.LoginConstant;
 import com.fdkankan.ucenter.entity.Folder;
+import com.fdkankan.ucenter.entity.User;
 import com.fdkankan.ucenter.service.IFolderService;
+import com.fdkankan.ucenter.service.IUserService;
 import com.fdkankan.ucenter.vo.request.FolderParam;
+import com.fdkankan.ucenter.vo.request.RequestFolder;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -24,10 +28,12 @@ import java.util.List;
  */
 @RestController
 @RequestMapping("/ucenter/user/folder")
-public class FolderController {
+public class FolderController extends BaseController {
 
     @Autowired
     IFolderService folderService;
+    @Autowired
+    IUserService userService;
 
     /**
      * 新增文件夹
@@ -84,5 +90,23 @@ public class FolderController {
         return Result.success();
     }
 
+    /**
+     * 根据文件夹名字获取该用户所有文件
+     */
+    @RequestMapping(value = "/findListByName", method = RequestMethod.POST)
+    public Result findListByName(@RequestBody RequestFolder param){
+        User user = userService.getByToken(getToken());
+        if(user == null){
+            throw new BusinessException(LoginConstant.FAILURE_CODE_3004, LoginConstant.FAILURE_MSG_3004);
+        }
+
+        if(param.getType() == null){
+            throw new BusinessException(LoginConstant.FAILURE_CODE_3001, LoginConstant.FAILURE_MSG_3001);
+        }
+
+        List<Folder> list = folderService.findByUserIdAndType(user.getId(), param.getType(), param.getName());
+
+        return Result.success(list);
+    }
 }
 

+ 1 - 1
src/main/java/com/fdkankan/ucenter/controller/app/SceneApiController.java

@@ -181,7 +181,7 @@ public class SceneApiController extends BaseController {
 
     private void sendResponse(UserVo user, String webSite, HttpServletRequest request,
                               HttpServletResponse response, String sceneNum, String lang, String vlog) {
-        String token = loginService.redisLogin(user.getUserName(),JSONObject.toJSONString(user));
+        String token = loginService.redisLogin(user.getUserName(),JSONObject.toJSONString(user),"user");
         //登录成功
         String mainUrl = NacosProperty.getMainUrl();
         if(StringUtils.isBlank(mainUrl)){

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

@@ -43,7 +43,7 @@ public class AgentNewLog implements Serializable {
      * 授权对象id
      */
     @TableField("user_id")
-    private Integer userId;
+    private Long userId;
 
     /**
      * 授权次数

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

@@ -104,4 +104,7 @@ public class UserIncrement implements Serializable {
     @TableField("month_qy")
     private Integer monthQy;
 
+    @TableField("agent_id")
+    private Integer agentId;
+
 }

+ 6 - 0
src/main/java/com/fdkankan/ucenter/interceptor/AppInterceptor.java

@@ -42,6 +42,12 @@ public class AppInterceptor implements HandlerInterceptor {
 			String redisKey = RedisKeyUtil.PREFIX_CACHE_CAMERA + username;
 			if(redisUtil.hasKey(redisKey)){
 				redisUtil.expire(redisKey,21800L);
+				String redisKey2 =  String.format(RedisKey.TOKEN_V3 , token );
+				if(redisUtil.hasKey(redisKey2)){
+					redisUtil.expire(redisKey2,21800L);
+				}else {
+					redisUtil.set(redisKey2,token,21800L);
+				}
 				return true;
 			}
 		}catch (Exception e){

+ 7 - 1
src/main/java/com/fdkankan/ucenter/pay/strategy/impl/IncrementOrderImpl.java

@@ -29,6 +29,8 @@ public class IncrementOrderImpl implements OrderStrategy {
     ICameraDetailService cameraDetailService;
     @Autowired
     IIncrementTypeService incrementTypeService;
+    @Autowired
+    IAgentNewLogService agentNewLogService;
 
     @Override
     public void handleOrder(String orderSn, String tradeNo, String openId, int paymentTypeName, Long spaceId) throws Exception {
@@ -73,10 +75,14 @@ public class IncrementOrderImpl implements OrderStrategy {
             DateTime date = DateUserUtil.getDateTime(DateUserUtil.getDate(userIncrementEntity.getIncrementEndTime()),incrementType,responseIncrementOrder.getMonthQy());
             userIncrementEntity.setIncrementEndTime(DateUserUtil.getDate(date.toDate()));
             userIncrementEntity.setOrderSn(userIncrementEntity.getOrderSn() + "," + orderSn);
-            userIncrementEntity.setCreateTime(DateUserUtil.getDate(new Date()));
+            userIncrementEntity.setUpdateTime(DateUserUtil.getDate(new Date()));
             userIncrementEntity.setIsExpired(0);
             userIncrementService.updateById(userIncrementEntity);
 
+            if(userIncrementEntity.getAgentId() != null){
+                agentNewLogService.addByUserIncrement(userIncrementEntity);
+            }
+
             //解封所有场景
             if(userIncrementEntity.getUserId() != null && userIncrementEntity.getCameraId() != null){
                 CameraDetail cameraDetail = cameraDetailService.getByCameraId(userIncrementEntity.getCameraId());

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

@@ -2,6 +2,7 @@ package com.fdkankan.ucenter.service;
 
 import com.fdkankan.ucenter.entity.AgentNewLog;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.ucenter.entity.UserIncrement;
 
 /**
  * <p>
@@ -13,4 +14,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IAgentNewLogService extends IService<AgentNewLog> {
 
+    void addByUserIncrement(UserIncrement userIncrementEntity);
 }

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

@@ -32,4 +32,5 @@ public interface IFolderService extends IService<Folder> {
 
     List<Folder> getAllFolderIds(List<Long> folderIds);
 
+    List<Folder> findByUserIdAndType(Long userId, Integer type, String name);
 }

+ 4 - 0
src/main/java/com/fdkankan/ucenter/service/IUserIncrementService.java

@@ -37,4 +37,8 @@ public interface IUserIncrementService extends IService<UserIncrement> {
     void incrementExpire();
 
     void incrementExpireSendSms() throws Exception;
+
+    void addByCameraAndUser(List<Long> cameraIds, Long id);
+
+    void delByCameraId(List<Long> cameraIds);
 }

+ 24 - 0
src/main/java/com/fdkankan/ucenter/service/impl/AgentNewLogServiceImpl.java

@@ -1,9 +1,13 @@
 package com.fdkankan.ucenter.service.impl;
 
 import com.fdkankan.ucenter.entity.AgentNewLog;
+import com.fdkankan.ucenter.entity.IncrementType;
+import com.fdkankan.ucenter.entity.UserIncrement;
 import com.fdkankan.ucenter.mapper.IAgentNewLogMapper;
 import com.fdkankan.ucenter.service.IAgentNewLogService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.ucenter.service.IIncrementTypeService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 /**
@@ -17,4 +21,24 @@ import org.springframework.stereotype.Service;
 @Service
 public class AgentNewLogServiceImpl extends ServiceImpl<IAgentNewLogMapper, AgentNewLog> implements IAgentNewLogService {
 
+    @Autowired
+    IIncrementTypeService incrementTypeService;
+
+    @Override
+    public void addByUserIncrement(UserIncrement userIncrement) {
+        if(userIncrement.getAgentId() !=null){
+            AgentNewLog log = new AgentNewLog();
+            if(userIncrement.getIncrementTypeId() != null){
+                IncrementType incrementType = incrementTypeService.getById(userIncrement.getIncrementTypeId());
+                if(incrementType!=null){
+                    log.setType(incrementType.getValidTimeType());
+                }
+            }
+            log.setAgentId(userIncrement.getAgentId());
+            log.setUserId(userIncrement.getUserId());
+            log.setGiveType(2);
+            log.setCount(1);
+            this.save(log);
+        }
+    }
 }

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

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.fdkankan.common.constant.Constant;
+import com.fdkankan.ucenter.common.constants.NacosProperty;
 import com.fdkankan.ucenter.entity.*;
 import com.fdkankan.ucenter.httpClient.service.LaserService;
 import com.fdkankan.ucenter.mapper.ICameraDetailMapper;
@@ -111,7 +112,9 @@ public class CameraDetailServiceImpl extends ServiceImpl<ICameraDetailMapper, Ca
             wrapper.set(CameraDetail::getTotalSpace,Long.parseLong(Constant.EXPANSION_SPACE_VALUE_1G ) * 10L);
             this.update(wrapper);
             cameraDetail.setTotalSpace(Long.parseLong(Constant.EXPANSION_SPACE_VALUE_1G ) * 10L);
-            sceneProService.lockOrUnLockBySpace(cameraDetail,cameraDetail.getCameraId(),-2);     //封存场景
+            if(!"local".equals(NacosProperty.uploadType)){
+                sceneProService.lockOrUnLockBySpace(cameraDetail,cameraDetail.getCameraId(),-2);     //封存场景
+            }
         }
         //恢复10G基本容量
 

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

@@ -8,6 +8,7 @@ import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.ucenter.common.PageInfo;
 import com.fdkankan.common.util.DateUtil;
 import com.fdkankan.common.util.FileSizeUtil;
+import com.fdkankan.ucenter.common.constants.NacosProperty;
 import com.fdkankan.ucenter.constant.CameraConstant;
 import com.fdkankan.ucenter.constant.LoginConstant;
 import com.fdkankan.ucenter.constant.OrderConstant;
@@ -232,7 +233,7 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
             cameraIds.add(Long.valueOf(id));
         }
         userIncrementService.unbindCamera(cameraIds);                   //取消关联用户权益
-        cameraDetailService.unbindCamera(cameraIds);                     //取消相机用户关联
+        cameraDetailService.unbindCamera(cameraIds);                    //取消相机用户关联
         sceneService.bindOrUnCamera(cameraIds,null);                //取消关联场景
         sceneProService.bindOrUnCamera(cameraIds,null);             //取消关联场景
         scenePlusService.bindOrUnCamera(cameraIds,null);            //取消关联场景
@@ -270,6 +271,10 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
         sceneService.bindOrUnCamera(cameraIds,user.getId());
         sceneProService.bindOrUnCamera(cameraIds,user.getId());
         scenePlusService.bindOrUnCamera(cameraIds,user.getId());
+
+        if("local".equals(NacosProperty.uploadType)){   //局域网绑定相机,添加权益
+            userIncrementService.addByCameraAndUser(cameraIds,user.getId());
+        }
     }
 
     @Override

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

@@ -229,5 +229,14 @@ public class FolderServiceImpl extends ServiceImpl<IFolderMapper, Folder> implem
         return this.list(wrapper);
     }
 
-
+    @Override
+    public List<Folder> findByUserIdAndType(Long userId, Integer type, String name) {
+        LambdaQueryWrapper<Folder> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(Folder::getUserId,userId);
+        wrapper.eq(Folder::getType,type);
+        if(StringUtils.isNotBlank(name)){
+            wrapper.like(Folder::getName,name);
+        }
+        return this.list(wrapper);
+    }
 }

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

@@ -80,7 +80,7 @@ public class LoginService {
         if(!user.getPassword().equals(passwordCode)){
             throw new BusinessException(LoginConstant.FAILURE_CODE_3014, LoginConstant.FAILURE_MSG_3014);
         }
-        String token = this.redisLogin(user.getUserName(),JSONObject.toJSONString(user));
+        String token = this.redisLogin(user.getUserName(),JSONObject.toJSONString(user),"user");
         loginLogService.addLog("",token);
         UserVo userVo = new UserVo();
         BeanUtils.copyProperties(user,userVo);
@@ -218,7 +218,7 @@ public class LoginService {
         userVo.setId(cameraDetail.getUserId());
         userVo.setCameraId(camera.getId());
         userVo.setCameraLogin(1);
-        String token = this.redisLogin(childName,JSONObject.toJSONString(userVo));
+        String token = this.redisLogin(childName,JSONObject.toJSONString(userVo),"camera");
         JSONObject obj = new JSONObject();
         obj.put("token",token);
         obj.put("childName",childName);
@@ -283,8 +283,8 @@ public class LoginService {
         userService.updatePassword(param.getPhoneNum(), pwdMd5);
     }
 
-    public String redisLogin(String userName,String value){
-        String token = JwtUtil.createJWT(-1,userName,"user");
+    public String redisLogin(String userName,String value,String loginType){
+        String token = JwtUtil.createJWT(-1,userName,loginType);
         String redisKey = String.format(RedisKey.TOKEN_V3,token);
         redisUtil.set(redisKey, value,2 * 60 * 60);
         return token;

+ 35 - 4
src/main/java/com/fdkankan/ucenter/service/impl/UserIncrementServiceImpl.java

@@ -139,10 +139,17 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
 
     @Override
     public void unbindCamera(List<Long> cameraIds) {
-        LambdaUpdateWrapper<UserIncrement> wrapper = new LambdaUpdateWrapper<>();
-        wrapper.set(UserIncrement::getCameraId,null)
-                .in(UserIncrement::getCameraId,cameraIds);
-        this.update(wrapper);
+        if(cameraIds.size() >0){
+            LambdaUpdateWrapper<UserIncrement> wrapper = new LambdaUpdateWrapper<>();
+            wrapper.in(UserIncrement::getCameraId,cameraIds);
+            if("local".equals(NacosProperty.uploadType)){
+                this.remove(wrapper);
+            }else {
+                wrapper.set(UserIncrement::getCameraId,null);
+                this.update(wrapper);
+            }
+        }
+
     }
 
 
@@ -338,4 +345,28 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
         }
     }
 
+    @Override
+    public void addByCameraAndUser(List<Long> cameraIds, Long userId) {
+        this.delByCameraId(cameraIds);
+        for (Long cameraId : cameraIds) {
+            UserIncrement userIncrement = new UserIncrement();
+            userIncrement.setKeyWord(UUID.randomUUID().toString().replace("-", ""));
+            userIncrement.setIsExpired(0);
+            userIncrement.setIncrementStartTime(DateUserUtil.getDate(new Date()));
+            userIncrement.setCameraId(cameraId);
+            userIncrement.setIncrementTypeId(1);
+            userIncrement.setIncrementEndTime("2199-01-01 00:00:00");
+            userIncrement.setUserId(userId);
+            this.save(userIncrement);
+        }
+    }
+
+    @Override
+    public void delByCameraId(List<Long> cameraIds) {
+        if(cameraIds.size() >0){
+            LambdaQueryWrapper<UserIncrement> wrapper = new LambdaQueryWrapper<>();
+            wrapper.in(UserIncrement::getCameraId,cameraIds);
+            this.remove(wrapper);
+        }
+    }
 }

+ 25 - 0
src/main/java/com/fdkankan/ucenter/vo/request/RequestFolder.java

@@ -0,0 +1,25 @@
+package com.fdkankan.ucenter.vo.request;
+
+import lombok.Data;
+
+/**
+ * Created by Hb_zzZ on 2021/2/18.
+ */
+@Data
+public class RequestFolder {
+
+    private Long id;
+
+    private String name;
+
+    /**
+     * 文件夹类型,0我的场景,1协作场景
+     */
+    private Integer type;
+
+    private Long parentId;
+
+    private String folderIds;
+
+    private String sceneIds;
+}