Przeglądaj źródła

权益绑定相机

lyhzzz 3 lat temu
rodzic
commit
97e7046a2a
21 zmienionych plików z 252 dodań i 47 usunięć
  1. 12 0
      src/main/java/com/fdkankan/ucenter/controller/CameraController.java
  2. 19 1
      src/main/java/com/fdkankan/ucenter/controller/IncrementController.java
  3. 10 0
      src/main/java/com/fdkankan/ucenter/controller/OrderController.java
  4. 2 0
      src/main/java/com/fdkankan/ucenter/mapper/ICameraMapper.java
  5. 2 0
      src/main/java/com/fdkankan/ucenter/service/ICameraService.java
  6. 5 0
      src/main/java/com/fdkankan/ucenter/service/IIncrementOrderService.java
  7. 3 0
      src/main/java/com/fdkankan/ucenter/service/IOrderService.java
  8. 6 2
      src/main/java/com/fdkankan/ucenter/service/IUserIncrementService.java
  9. 8 8
      src/main/java/com/fdkankan/ucenter/service/impl/CameraDetailServiceImpl.java
  10. 10 0
      src/main/java/com/fdkankan/ucenter/service/impl/CameraServiceImpl.java
  11. 15 10
      src/main/java/com/fdkankan/ucenter/service/impl/FdkkLaserService.java
  12. 25 1
      src/main/java/com/fdkankan/ucenter/service/impl/IncrementOrderServiceImpl.java
  13. 17 0
      src/main/java/com/fdkankan/ucenter/service/impl/OrderServiceImpl.java
  14. 8 3
      src/main/java/com/fdkankan/ucenter/service/impl/SceneCooperationServiceImpl.java
  15. 5 0
      src/main/java/com/fdkankan/ucenter/service/impl/SceneResourceCameraServiceImpl.java
  16. 75 18
      src/main/java/com/fdkankan/ucenter/service/impl/UserIncrementServiceImpl.java
  17. 2 0
      src/main/java/com/fdkankan/ucenter/vo/request/DownNumParam.java
  18. 1 0
      src/main/java/com/fdkankan/ucenter/vo/request/IncrementParam.java
  19. 2 0
      src/main/java/com/fdkankan/ucenter/vo/response/CameraVo.java
  20. 19 3
      src/main/java/com/fdkankan/ucenter/vo/response/UserIncrementVo.java
  21. 6 1
      src/main/resources/mapper/ucenter/CameraMapper.xml

+ 12 - 0
src/main/java/com/fdkankan/ucenter/controller/CameraController.java

@@ -104,4 +104,16 @@ public class CameraController {
         }
         return Result.success(sceneResourceService.sceneResourceByCameraId(jsonObject.getLong("cameraId")));
     }
+
+    /**
+     * 获取用户设备--新(根据sn返回全部不分页)
+     */
+    @PostMapping("/listNewAll")
+    public Result listNewAll(@RequestBody JSONObject jsonObject,@RequestHeader String token){
+        if(jsonObject.get("childName") == null){
+            throw new BusinessException(LoginConstant.FAILURE_CODE_3001, LoginConstant.FAILURE_MSG_3001);
+        }
+        return Result.success(cameraService.getAllList(jsonObject.getString("childName"),token));
+    }
+
 }

+ 19 - 1
src/main/java/com/fdkankan/ucenter/controller/IncrementController.java

@@ -17,7 +17,25 @@ public class IncrementController {
     @PostMapping("/findIncrementList")
     public Result findIncrementList(@RequestBody IncrementParam param, @RequestHeader String token){
         param.setUserName(JwtUtil.getUsername(token));
-        userIncrementService.pageList(param);
+        return Result.success(userIncrementService.pageList(param));
+    }
+
+    /**
+     * 绑定权益包
+     */
+    @PostMapping("/bindCamera")
+    public Result bindCamera(@RequestBody IncrementParam param, @RequestHeader String token){
+        param.setUserName(JwtUtil.getUsername(token));
+        userIncrementService.bindCamera(param);
+        return Result.success();
+    }
+    /**
+     * 解绑权益包
+     */
+    @PostMapping("/unbindCamera")
+    public Result unbindCamera(@RequestBody IncrementParam param, @RequestHeader String token){
+        param.setUserName(JwtUtil.getUsername(token));
+        userIncrementService.unbindCamera(param);
         return Result.success();
     }
 }

+ 10 - 0
src/main/java/com/fdkankan/ucenter/controller/OrderController.java

@@ -85,5 +85,15 @@ public class OrderController {
         return Result.success(orderService.downloadOrder(param));
     }
 
+    /**
+     * 增值权益提交订单
+     */
+    @PostMapping("/incrementOrder")
+    public Result incrementOrder(@RequestBody DownNumParam param, @RequestHeader String token){
+        String username = JwtUtil.getUsername(token);
+        param.setUserName(username);
+        return Result.success(orderService.incrementOrder(param));
+    }
+
 }
 

+ 2 - 0
src/main/java/com/fdkankan/ucenter/mapper/ICameraMapper.java

@@ -25,4 +25,6 @@ public interface ICameraMapper extends BaseMapper<Camera> {
     Page<CameraVo> pageList(Page<CameraVo> page, CameraParam param);
 
     List<CameraAppVo> getCameraInfo(@Param("childName") String childName, @Param("childPassword") String childPassword);
+
+    List<Camera> getAllListByUser(@Param("userId")Long userId,@Param("snCode") String snCode);
 }

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

@@ -42,4 +42,6 @@ public interface ICameraService extends IService<Camera> {
     Camera getByChildName(String childName);
 
     List<CameraAppVo> getCameraInfo(String childName, String childPassword);
+
+    List<Camera> getAllList(String childName,String token);
 }

+ 5 - 0
src/main/java/com/fdkankan/ucenter/service/IIncrementOrderService.java

@@ -3,10 +3,13 @@ package com.fdkankan.ucenter.service;
 import com.fdkankan.common.response.PageInfo;
 import com.fdkankan.ucenter.entity.IncrementOrder;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.ucenter.vo.request.DownNumParam;
 import com.fdkankan.ucenter.vo.request.IncrementOrderParam;
 import com.fdkankan.ucenter.vo.request.OrderParam;
 import com.fdkankan.ucenter.vo.response.GoodsSkuVo;
 
+import java.math.BigDecimal;
+
 /**
  * <p>
  * 增值权益订单表 服务类
@@ -20,4 +23,6 @@ public interface IIncrementOrderService extends IService<IncrementOrder> {
     PageInfo pageList(IncrementOrderParam param);
 
     GoodsSkuVo getDownloadPrice(OrderParam param);
+
+    IncrementOrder insertIncrementOrder(Long userId, DownNumParam param, BigDecimal price);
 }

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

@@ -2,6 +2,7 @@ package com.fdkankan.ucenter.service;
 
 import com.fdkankan.common.response.PageInfo;
 import com.fdkankan.ucenter.entity.DownloadOrder;
+import com.fdkankan.ucenter.entity.IncrementOrder;
 import com.fdkankan.ucenter.entity.Order;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fdkankan.ucenter.vo.request.DownNumParam;
@@ -34,4 +35,6 @@ public interface IOrderService extends IService<Order> {
     Order getByOrderSn(String orderSn);
 
     DownloadOrder downloadOrder(DownNumParam param);
+
+    IncrementOrder incrementOrder(DownNumParam param);
 }

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

@@ -1,6 +1,6 @@
 package com.fdkankan.ucenter.service;
 
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.common.response.PageInfo;
 import com.fdkankan.ucenter.entity.UserIncrement;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fdkankan.ucenter.vo.request.IncrementParam;
@@ -20,7 +20,7 @@ public interface IUserIncrementService extends IService<UserIncrement> {
 
     Long getCountByUserId(Long userId, int type);
 
-    Page pageList(IncrementParam param);
+    PageInfo pageList(IncrementParam param);
 
     HashMap<Long, UserIncrement> findByCameraIds(List<Long> cameraIdList);
 
@@ -31,4 +31,8 @@ public interface IUserIncrementService extends IService<UserIncrement> {
     Long getCount(Long userId, Integer cameraType, int isBind);
 
     UserIncrement getByCameraId(Long cameraId);
+
+    void bindCamera(IncrementParam param);
+
+    void unbindCamera(IncrementParam param);
 }

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

@@ -97,17 +97,17 @@ public class CameraDetailServiceImpl extends ServiceImpl<ICameraDetailMapper, Ca
     public void unbindCamera(List<Long> cameraIds) {
         HashMap<Long, CameraDetail> detailMap = this.getByCameraIds(cameraIds);
         HashMap<Long, Camera> cameraMap = cameraService.getByIds(cameraIds);
-        List<CameraDetail> detailIds = new ArrayList<>();
         for (Long cameraId : detailMap.keySet()) {
             CameraDetail cameraDetail = detailMap.get(cameraId);
-            cameraDetail.setUserId(null);
-            cameraDetail.setCooperationUser(null);
-            cameraDetail.setTotalSpace(Long.parseLong(Constant.EXPANSION_SPACE_VALUE_1G ) * 10L);
+            LambdaUpdateWrapper<CameraDetail> wrapper = new LambdaUpdateWrapper<>();
+            wrapper.eq(CameraDetail::getId,cameraDetail.getId());
+            wrapper.set(CameraDetail::getUserId,null);
+            wrapper.set(CameraDetail::getCooperationUser,null);
+            wrapper.set(CameraDetail::getTotalSpace,Long.parseLong(Constant.EXPANSION_SPACE_VALUE_1G ) * 10L);
+            this.update(wrapper);
             sceneProService.lockOrUnLockBySpace(cameraDetail,cameraId,-2);     //封存场景
-            detailIds.add(cameraDetail);
         }
         //恢复10G基本容量
-        this.updateBatchById(detailIds);
 
         //删除场景协作信息
         List<ScenePro> sceneProList = sceneProService.getListByCameraIds(cameraIds);
@@ -119,7 +119,7 @@ public class CameraDetailServiceImpl extends ServiceImpl<ICameraDetailMapper, Ca
     @Override
     public void bindCamera(List<Long> cameraIds,Long userId) {
         LambdaUpdateWrapper<CameraDetail> wrapper = new LambdaUpdateWrapper<>();
-        wrapper.in(CameraDetail::getCameraId)
+        wrapper.in(CameraDetail::getCameraId,cameraIds)
                 .set(CameraDetail::getUserId,userId);
         this.update(wrapper);
     }
@@ -127,7 +127,7 @@ public class CameraDetailServiceImpl extends ServiceImpl<ICameraDetailMapper, Ca
     @Override
     public void updateCooperationByIds(List<Long> cameraIds, Long userId) {
         LambdaUpdateWrapper<CameraDetail> wrapper = new LambdaUpdateWrapper<>();
-        wrapper.in(CameraDetail::getCameraId)
+        wrapper.in(CameraDetail::getCameraId,cameraIds)
                 .set(CameraDetail::getCooperationUser,userId);
         this.update(wrapper);
     }

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

@@ -3,6 +3,7 @@ package com.fdkankan.ucenter.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.response.PageInfo;
 import com.fdkankan.common.util.DateUtil;
 import com.fdkankan.common.util.FileSizeUtil;
@@ -312,4 +313,13 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
     public List<CameraAppVo> getCameraInfo(String childName, String childPassword) {
         return this.getBaseMapper().getCameraInfo(childName,childPassword);
     }
+
+    @Override
+    public List<Camera> getAllList(String childName,String token) {
+        User user = userService.getByToken(token);
+        if(user == null){
+            return new ArrayList<>();
+        }
+        return  this.getBaseMapper().getAllListByUser(user.getId(),childName);
+    }
 }

+ 15 - 10
src/main/java/com/fdkankan/ucenter/service/impl/FdkkLaserService.java

@@ -106,22 +106,27 @@ public class FdkkLaserService {
                 userIds.add(detailMap.get(aLong).getCooperationUser());
             }
         }
-        HashMap<Long, User> userMap = userService.getByIds(userIds);
-        for (Long cameraId : detailMap.keySet()) {
-            CameraDetail cameraDetail = detailMap.get(cameraId);
-            if (cameraDetail.getType() == CameraTypeEnum.LASER_TURN.getType()) {
-                Camera cameraEntity = cameraMap.get(cameraId);
-                Map<String, String> param = new HashMap<>();
-                param.put("snCode", cameraEntity.getSnCode());
-                String name = userMap.get(cameraDetail.getCooperationUser()) == null ?null : userMap.get(cameraDetail.getCooperationUser()).getUserName();
-                param.put("cooperationUserName", name);
-                laserParams.add(param);
+        if(userIds.size() >0){
+            HashMap<Long, User> userMap = userService.getByIds(userIds);
+            for (Long cameraId : detailMap.keySet()) {
+                CameraDetail cameraDetail = detailMap.get(cameraId);
+                if (cameraDetail.getType() == CameraTypeEnum.LASER_TURN.getType()) {
+                    Camera cameraEntity = cameraMap.get(cameraId);
+                    Map<String, String> param = new HashMap<>();
+                    param.put("snCode", cameraEntity.getSnCode());
+                    String name = userMap.get(cameraDetail.getCooperationUser()) == null ?null : userMap.get(cameraDetail.getCooperationUser()).getUserName();
+                    param.put("cooperationUserName", name);
+                    laserParams.add(param);
+                }
             }
         }
       return laserParams;
     }
 
     public void enableCameraCooperation(List<Map<String, String>> params) {
+        if(params.size() <=0){
+            return;
+        }
         String url = laserHost + ENABLE_COOPERATION_CAMERA_URL;
         log.info("自研激光转台相机协作,url:{},params:{}",ENABLE_COOPERATION_CAMERA_URL, JSONObject.toJSONString(params));
         ResponseEntity<Result> responseEntity = restTemplate.postForEntity(url,params, Result.class);

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

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.common.constant.SceneConstant;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.response.PageInfo;
+import com.fdkankan.common.util.NumberUtils;
 import com.fdkankan.ucenter.common.SkuEnum;
 import com.fdkankan.ucenter.constant.LoginConstant;
 import com.fdkankan.ucenter.entity.*;
@@ -12,6 +13,7 @@ import com.fdkankan.ucenter.mapper.IIncrementOrderMapper;
 import com.fdkankan.ucenter.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.ucenter.util.DateUserUtil;
+import com.fdkankan.ucenter.vo.request.DownNumParam;
 import com.fdkankan.ucenter.vo.request.IncrementOrderParam;
 import com.fdkankan.ucenter.vo.request.OrderParam;
 import com.fdkankan.ucenter.vo.response.GoodsSkuVo;
@@ -22,6 +24,7 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -82,7 +85,7 @@ public class IncrementOrderServiceImpl extends ServiceImpl<IIncrementOrderMapper
         if(param.getUserIncrementId() != null){
             UserIncrement userIncrementEntity = userIncrementService.getById(param.getUserIncrementId());
             if(userIncrementEntity != null && DateUserUtil.getDate(userIncrementEntity.getIncrementEndTime()).getTime()> new Date().getTime()){
-                dateTime = new DateTime(userIncrementEntity.getIncrementEndTime());
+                dateTime = new DateTime(DateUserUtil.getDate(userIncrementEntity.getIncrementEndTime()));
             }
         }
         GoodsSkuVo vo = this.getIncrementOrDownloadPrice(param.getDateType());
@@ -103,4 +106,25 @@ public class IncrementOrderServiceImpl extends ServiceImpl<IIncrementOrderMapper
 
         return responseGoodsSku;
     }
+
+    @Override
+    public IncrementOrder insertIncrementOrder(Long userId, DownNumParam param, BigDecimal price) {
+        BigDecimal total = price.multiply(new BigDecimal(param.getCount()));
+
+        IncrementOrder incrementOrderEntity = new IncrementOrder();
+        incrementOrderEntity.setOrderSn(NumberUtils.getOrderSn());
+        incrementOrderEntity.setAmount(total);
+        incrementOrderEntity.setPayType(param.getPayType());
+        incrementOrderEntity.setPayStatus(-1);
+        incrementOrderEntity.setUserId(userId);
+        incrementOrderEntity.setCount(param.getCount());
+        incrementOrderEntity.setAbroad(param.getAbroad());
+        incrementOrderEntity.setStatus(param.getIncrementId() == null ? 1 : 2);
+        incrementOrderEntity.setIncrementId(param.getIncrementId());
+        incrementOrderEntity.setRecStatus("A");
+        incrementOrderEntity.setCreateTime(DateUserUtil.getDate(new Date()));
+        incrementOrderEntity.setUpdateTime(DateUserUtil.getDate(new Date()));
+        this.save(incrementOrderEntity);
+        return incrementOrderEntity;
+    }
 }

+ 17 - 0
src/main/java/com/fdkankan/ucenter/service/impl/OrderServiceImpl.java

@@ -294,4 +294,21 @@ public class OrderServiceImpl extends ServiceImpl<IOrderMapper, Order> implement
 
         return downloadOrderService.insertDownloadOrder(user.getId(),param,param.getAbroad() == 0 ?  goodsSku.getPrice() : goodsSku.getDollarPrice());
     }
+
+    @Override
+    public IncrementOrder incrementOrder(DownNumParam param) {
+        //支付美金,只能paypal支付
+        if(param.getAbroad() == 1 && param.getPayType() != 2){
+            throw new BusinessException(OrderConstant.FAILURE_CODE_8004, OrderConstant.FAILURE_MSG_8004);
+        }
+        GoodsSku goodsSku = goodsSkuService.getBySku(param.getSkuSn());
+        if(goodsSku == null){
+            throw new BusinessException(OrderConstant.FAILURE_CODE_8004, OrderConstant.FAILURE_MSG_8004);
+        }
+        User user = userService.getByUserName(param.getUserName());
+        if(user == null){
+            throw new BusinessException(OrderConstant.FAILURE_CODE_8004, OrderConstant.FAILURE_MSG_8004);
+        }
+        return incrementOrderService.insertIncrementOrder(user.getId(), param, param.getAbroad() == 0 ?  goodsSku.getPrice() : goodsSku.getDollarPrice());
+    }
 }

+ 8 - 3
src/main/java/com/fdkankan/ucenter/service/impl/SceneCooperationServiceImpl.java

@@ -105,11 +105,14 @@ public class SceneCooperationServiceImpl extends ServiceImpl<ISceneCooperationMa
                     SceneResourceCooperation sceneResourceCooperation = new SceneResourceCooperation();
                     sceneResourceCooperation.setSceneResourceId(resourceId);
                     sceneResourceCooperation.setSceneCooperationId(sceneCooperation.getId());
+                    sceneResourceCooperation.setRecStatus("A");
+                    sceneResourceCooperation.setCreateTime(DateUserUtil.getDate(new Date()));
+                    sceneResourceCooperation.setUpdateTime(DateUserUtil.getDate(new Date()));
                     resourceCooperationList.add(sceneResourceCooperation);
                 }
             }
             if(resourceCooperationList.size() >0){
-                sceneResourceCooperationService.saveBatch(resourceCooperationList);
+                sceneResourceCooperationService.saveBatch(resourceCooperationList,10000);
             }
         }
     }
@@ -262,8 +265,10 @@ public class SceneCooperationServiceImpl extends ServiceImpl<ISceneCooperationMa
         HashMap<String,User> cooMap = new HashMap<>();
         if(list.size() >0){
             List<Long> userIds = list.parallelStream().map(SceneCooperation::getUserId).collect(Collectors.toList());
-            HashMap<Long, User> userMap = userService.getByIds(userIds);
-            list.forEach(entity -> cooMap.put(entity.getSceneNum(),userMap.get(entity.getUserId())));
+            if(userIds.size() >0){
+                HashMap<Long, User> userMap = userService.getByIds(userIds);
+                list.forEach(entity -> cooMap.put(entity.getSceneNum(),userMap.get(entity.getUserId())));
+            }
         }
         return cooMap;
     }

+ 5 - 0
src/main/java/com/fdkankan/ucenter/service/impl/SceneResourceCameraServiceImpl.java

@@ -5,9 +5,11 @@ import com.fdkankan.ucenter.entity.SceneResourceCamera;
 import com.fdkankan.ucenter.mapper.ISceneResourceCameraMapper;
 import com.fdkankan.ucenter.service.ISceneResourceCameraService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.ucenter.util.DateUserUtil;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -38,6 +40,9 @@ public class SceneResourceCameraServiceImpl extends ServiceImpl<ISceneResourceCa
                 sceneResourceCameraEntity = new SceneResourceCamera();
                 sceneResourceCameraEntity.setSceneResourceId(resourceId);
                 sceneResourceCameraEntity.setCameraId(cameraId);
+                sceneResourceCameraEntity.setRecStatus("A");
+                sceneResourceCameraEntity.setCreateTime(DateUserUtil.getDate(new Date()));
+                sceneResourceCameraEntity.setUpdateTime(DateUserUtil.getDate(new Date()));
                 saveSceneResourceCameraList.add(sceneResourceCameraEntity);
             }
         }

+ 75 - 18
src/main/java/com/fdkankan/ucenter/service/impl/UserIncrementServiceImpl.java

@@ -5,15 +5,19 @@ 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.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.common.response.PageInfo;
 import com.fdkankan.common.util.DateUtil;
+import com.fdkankan.ucenter.constant.CameraConstant;
+import com.fdkankan.ucenter.constant.LoginConstant;
 import com.fdkankan.ucenter.entity.Camera;
+import com.fdkankan.ucenter.entity.CameraDetail;
 import com.fdkankan.ucenter.entity.User;
 import com.fdkankan.ucenter.entity.UserIncrement;
 import com.fdkankan.ucenter.mapper.IUserIncrementMapper;
-import com.fdkankan.ucenter.service.ICameraService;
-import com.fdkankan.ucenter.service.IUserIncrementService;
+import com.fdkankan.ucenter.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.fdkankan.ucenter.service.IUserService;
+import com.fdkankan.ucenter.util.DateUserUtil;
 import com.fdkankan.ucenter.vo.request.IncrementParam;
 import com.fdkankan.ucenter.vo.response.UserIncrementVo;
 import org.springframework.beans.BeanUtils;
@@ -42,6 +46,10 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
     ICameraService cameraService;
     @Autowired
     IUserService userService;
+    @Autowired
+    ICameraDetailService cameraDetailService;
+    @Autowired
+    ISceneProService sceneProService;
 
     @Override
     public Long getCountByUserId(Long userId, int type) {
@@ -57,30 +65,31 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
     }
 
     @Override
-    public Page pageList(IncrementParam param) {
+    public PageInfo pageList(IncrementParam param) {
         Page<UserIncrementVo> pageVo = new Page<>(param.getPageNum(), param.getPageSize());
         User user = userService.getByUserName(param.getUserName());
         List<Long> cameraIdList = null;
         if(StrUtil.isNotEmpty(param.getSnCode()) && StrUtil.isNotEmpty(param.getSnCode().trim())){
             List<Camera> cameraEntityList = cameraService.getCameraLikeSnCode(param.getSnCode().trim());
             if(cameraEntityList == null || cameraEntityList.size()<=0){
-                return pageVo;
+                return PageInfo.PageInfo(pageVo);
             }
             cameraIdList = cameraEntityList.stream().map(Camera::getId)
                     .collect(Collectors.toList());
         }
         Page<UserIncrement> page = new Page<>(param.getPageNum(), param.getPageSize());
-        QueryWrapper<UserIncrement> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(UserIncrement::getUserId,user.getId());
+        LambdaQueryWrapper<UserIncrement> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(UserIncrement::getUserId,user.getId());
         if(cameraIdList!=null ){
-            queryWrapper.lambda().in(UserIncrement::getCameraId,cameraIdList);
+            queryWrapper.in(UserIncrement::getCameraId,cameraIdList);
         }
+        queryWrapper.orderByDesc(UserIncrement::getCreateTime);
         Page<UserIncrement> pageEntity = this.page(page, queryWrapper);
 
         List<UserIncrementVo> responseList = convert(pageEntity.getRecords());
         pageVo.setTotal(pageEntity.getTotal());
         pageVo.setRecords(responseList);
-        return pageVo;
+        return PageInfo.PageInfo(pageVo);
     }
 
 
@@ -93,15 +102,6 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
         for (UserIncrement userIncrementEntity : list) {
             responseUserIncrement = new UserIncrementVo();
             BeanUtils.copyProperties(userIncrementEntity, responseUserIncrement);
-            if(!ObjectUtils.isEmpty(responseUserIncrement.getIncrementStartTime())){
-                responseUserIncrement.setIncrementStartStr(DateUtil.date2String(responseUserIncrement.getIncrementStartTime(), DateUtil.YYYY_MM_DD_DATE_FORMAT));
-            }
-            if(!ObjectUtils.isEmpty(responseUserIncrement.getIncrementEndTime())){
-                responseUserIncrement.setIncrementEndStr(DateUtil.date2String(responseUserIncrement.getIncrementEndTime(), DateUtil.YYYY_MM_DD_DATE_FORMAT));
-            }
-            if(!ObjectUtils.isEmpty(responseUserIncrement.getCreateTime())){
-                responseUserIncrement.setCreateStr(DateUtil.date2String(responseUserIncrement.getCreateTime(), DateUtil.YYYY_MM_DD_DATE_FORMAT));
-            }
             if(responseUserIncrement.getCameraId() != null){
                 Camera cameraEntity = cameraService.getById(responseUserIncrement.getCameraId());
                 responseUserIncrement.setSnCode(cameraEntity != null ? cameraEntity.getSnCode() : null);
@@ -153,4 +153,61 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
         }
         return null;
     }
+
+    @Override
+    public void bindCamera(IncrementParam param) {
+        if(param.getId() == null || param.getSnCode() == null){
+            throw new BusinessException(LoginConstant.FAILURE_CODE_3001, LoginConstant.FAILURE_MSG_3001);
+        }
+        UserIncrement userIncrement = this.getById(param.getId());
+        if(userIncrement == null){
+            throw new BusinessException(LoginConstant.FAILURE_CODE_3030, LoginConstant.FAILURE_MSG_3030);
+        }
+        Camera cameraEntity = cameraService.getBySnCode(param.getSnCode());
+        if(cameraEntity == null){
+            throw new BusinessException(CameraConstant.FAILURE_CODE_6003, CameraConstant.FAILURE_MSG_6003);
+        }
+        UserIncrement byCameraId = this.getByCameraId(cameraEntity.getId());
+        if(byCameraId != null){
+            throw new BusinessException(LoginConstant.FAILURE_CODE_3032, LoginConstant.FAILURE_MSG_3032);
+        }
+        CameraDetail cameraDetailEntity = cameraDetailService.getByCameraId(cameraEntity.getId());
+        if(cameraDetailEntity == null){
+            throw new BusinessException(CameraConstant.FAILURE_CODE_6003, CameraConstant.FAILURE_MSG_6003);
+        }
+        User user = userService.getByUserName(param.getUserName());
+        if(user == null){
+            throw new BusinessException(CameraConstant.FAILURE_CODE_6003, CameraConstant.FAILURE_MSG_6003);
+        }
+        if(cameraDetailEntity.getUserId() == null || !cameraDetailEntity.getUserId().equals(user.getId())){
+            throw new BusinessException(CameraConstant.FAILURE_CODE_6005, CameraConstant.FAILURE_MSG_6005);
+        }
+        userIncrement.setCameraId(cameraEntity.getId());
+        userIncrement.setUpdateTime(DateUserUtil.getDate(new Date()));
+        this.updateById(userIncrement);
+        sceneProService.lockOrUnLockBySpace(cameraDetailEntity,cameraEntity.getId(),1);
+    }
+
+    @Override
+    public void unbindCamera(IncrementParam param) {
+        if(param.getId() == null){
+            throw new BusinessException(LoginConstant.FAILURE_CODE_3001, LoginConstant.FAILURE_MSG_3001);
+        }
+        UserIncrement userIncrement = this.getById(param.getId());
+        if(userIncrement == null){
+            throw new BusinessException(LoginConstant.FAILURE_CODE_3030, LoginConstant.FAILURE_MSG_3030);
+        }
+        if(userIncrement.getCameraId() == null){
+            return;
+        }
+        CameraDetail cameraDetail = cameraDetailService.getByCameraId(userIncrement.getCameraId());
+        if(cameraDetail == null){
+            throw new BusinessException(CameraConstant.FAILURE_CODE_6003, CameraConstant.FAILURE_MSG_6003);
+        }
+        LambdaUpdateWrapper<UserIncrement> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.eq(UserIncrement::getId,param.getId());
+        wrapper.set(UserIncrement::getCameraId,null);
+        this.update(wrapper);
+        sceneProService.lockOrUnLockBySpace(cameraDetail,cameraDetail.getCameraId(),-2);
+    }
 }

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

@@ -11,4 +11,6 @@ public class DownNumParam {
     private String sceneNum;
     private String skuSn;
     private String userName;
+
+    private Long  incrementId;
 }

+ 1 - 0
src/main/java/com/fdkankan/ucenter/vo/request/IncrementParam.java

@@ -5,6 +5,7 @@ import lombok.Data;
 
 @Data
 public class IncrementParam extends RequestBase {
+    private Long id;
     private String snCode;
     private String userName;
 }

+ 2 - 0
src/main/java/com/fdkankan/ucenter/vo/response/CameraVo.java

@@ -34,4 +34,6 @@ public class CameraVo {
 
     private Long userIncrementId;
     private Integer surplusDate;
+
+    private Long goodsId;
 }

+ 19 - 3
src/main/java/com/fdkankan/ucenter/vo/response/UserIncrementVo.java

@@ -1,5 +1,7 @@
 package com.fdkankan.ucenter.vo.response;
 
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fdkankan.ucenter.util.DateUserUtil;
 import lombok.Data;
 
 import java.util.Date;
@@ -20,16 +22,16 @@ public class UserIncrementVo  {
     /**
      * 生效时间
      */
-    private Date incrementStartTime;
+    private String incrementStartTime;
     /**
      * 结束时间
      */
-    private Date incrementEndTime;
+    private String incrementEndTime;
 
     /**
      * 创建时间
      */
-    private Date createTime;
+    private String createTime;
 
     private String snCode;
 
@@ -44,4 +46,18 @@ public class UserIncrementVo  {
     private String keyWord;
 
     private Integer isExpired;
+
+    private Integer incrementTypeId;
+
+    public String getIncrementStartStr() {
+        return DateUserUtil.getDayTime(incrementStartTime);
+    }
+
+    public String getIncrementEndStr() {
+        return DateUserUtil.getDayTime(incrementEndTime);
+    }
+
+    public String getCreateStr() {
+        return DateUserUtil.getDayTime(createTime);
+    }
 }

+ 6 - 1
src/main/resources/mapper/ucenter/CameraMapper.xml

@@ -4,7 +4,7 @@
 
     <select id="pageList" resultType="com.fdkankan.ucenter.vo.response.CameraVo">
         select c.id,c.sn_code,c.child_name ,d.balance,d.type , d.total_space,d.used_space,
-        u.id as cooperationUser,u.user_name as cooperationUserName,g.pic,g.id
+        u.id as cooperationUser,u.user_name as cooperationUserName,g.pic,d.goods_id
         from t_camera c
         left join t_camera_detail d on c.id = d.camera_id
         left join t_user u on d.cooperation_user = u.id
@@ -36,4 +36,9 @@
         and c.child_name = #{childName}
         and c.child_password = #{childPassword}
     </select>
+
+    <select id="getAllListByUser" resultType="com.fdkankan.ucenter.entity.Camera">
+        select  * from t_camera c left join t_camera_detail d on c.id = d.camera_id
+        where c.rec_status = 'A' and c.sn_code like concat('%',#{snCode},'%') and d.user_id = #{userId}
+    </select>
 </mapper>