Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/main/java/com/fdkankan/ucenter/config/WebAppConfig.java
dengsixing 3 gadi atpakaļ
vecāks
revīzija
02144846b8
38 mainītis faili ar 707 papildinājumiem un 67 dzēšanām
  1. 21 0
      src/main/java/com/fdkankan/ucenter/common/DownloadStatusEnum.java
  2. 6 0
      src/main/java/com/fdkankan/ucenter/common/OssPath.java
  3. 3 2
      src/main/java/com/fdkankan/ucenter/config/WebAppConfig.java
  4. 12 0
      src/main/java/com/fdkankan/ucenter/controller/IncrementController.java
  5. 9 0
      src/main/java/com/fdkankan/ucenter/controller/LoginController.java
  6. 2 0
      src/main/java/com/fdkankan/ucenter/controller/OrderController.java
  7. 4 0
      src/main/java/com/fdkankan/ucenter/controller/api/FusionController.java
  8. 44 0
      src/main/java/com/fdkankan/ucenter/controller/api/VoidController.java
  9. 3 0
      src/main/java/com/fdkankan/ucenter/entity/IncrementOrder.java
  10. 93 0
      src/main/java/com/fdkankan/ucenter/entity/IncrementType.java
  11. 50 0
      src/main/java/com/fdkankan/ucenter/entity/ScenePlusVoid.java
  12. 1 1
      src/main/java/com/fdkankan/ucenter/generate/AutoGenerate.java
  13. 18 0
      src/main/java/com/fdkankan/ucenter/mapper/IIncrementTypeMapper.java
  14. 18 0
      src/main/java/com/fdkankan/ucenter/mapper/IScenePlusVoidMapper.java
  15. 24 25
      src/main/java/com/fdkankan/ucenter/pay/strategy/impl/IncrementOrderImpl.java
  16. 6 2
      src/main/java/com/fdkankan/ucenter/service/IIncrementOrderService.java
  17. 19 0
      src/main/java/com/fdkankan/ucenter/service/IIncrementTypeService.java
  18. 2 0
      src/main/java/com/fdkankan/ucenter/service/IScenePlusService.java
  19. 27 0
      src/main/java/com/fdkankan/ucenter/service/IScenePlusVoidService.java
  20. 23 2
      src/main/java/com/fdkankan/ucenter/service/impl/DownService.java
  21. 19 9
      src/main/java/com/fdkankan/ucenter/service/impl/FusionService.java
  22. 43 15
      src/main/java/com/fdkankan/ucenter/service/impl/IncrementOrderServiceImpl.java
  23. 30 0
      src/main/java/com/fdkankan/ucenter/service/impl/IncrementTypeServiceImpl.java
  24. 11 2
      src/main/java/com/fdkankan/ucenter/service/impl/LoginService.java
  25. 10 5
      src/main/java/com/fdkankan/ucenter/service/impl/OrderServiceImpl.java
  26. 7 0
      src/main/java/com/fdkankan/ucenter/service/impl/ScenePlusServiceImpl.java
  27. 123 0
      src/main/java/com/fdkankan/ucenter/service/impl/ScenePlusVoidServiceImpl.java
  28. 3 0
      src/main/java/com/fdkankan/ucenter/service/impl/SceneProServiceImpl.java
  29. 16 0
      src/main/java/com/fdkankan/ucenter/util/DateUserUtil.java
  30. 1 0
      src/main/java/com/fdkankan/ucenter/vo/request/DownNumParam.java
  31. 1 0
      src/main/java/com/fdkankan/ucenter/vo/request/LoginParam.java
  32. 1 1
      src/main/java/com/fdkankan/ucenter/vo/request/OrderParam.java
  33. 3 0
      src/main/java/com/fdkankan/ucenter/vo/request/SceneParam.java
  34. 3 2
      src/main/java/com/fdkankan/ucenter/vo/response/ScenePlusVo.java
  35. 40 0
      src/main/resources/bootstrap-dev.yml
  36. 1 1
      src/main/resources/bootstrap-test.yml
  37. 5 0
      src/main/resources/mapper/ucenter/IncrementTypeMapper.xml
  38. 5 0
      src/main/resources/mapper/ucenter/ScenePlusVoidMapper.xml

+ 21 - 0
src/main/java/com/fdkankan/ucenter/common/DownloadStatusEnum.java

@@ -0,0 +1,21 @@
+package com.fdkankan.ucenter.common;
+
+public enum DownloadStatusEnum {
+    DOWNLOADING(1000, "文件正在下载"),
+    DOWNLOAD_COMPRESSING(1001, "文件正在压缩"),
+    DOWNLOAD_SUCCESS(1002, "文件压缩成功/下载处理成功"),
+    DOWNLOAD_FAILED(1003, "下载处理失败");
+
+    public static final int DOWNLOADING_CODE = 1000;
+    public static final int DOWNLOAD_COMPRESSING_CODE = 1001;
+    public static final int DOWNLOAD_SUCCESS_CODE = 1002;
+    public static final int DOWNLOAD_FAILED_CODE = 1003;
+
+    private int status;
+    private String desc;
+
+    DownloadStatusEnum(int status, String desc) {
+        this.status = status;
+        this.desc = desc;
+    }
+}

+ 6 - 0
src/main/java/com/fdkankan/ucenter/common/OssPath.java

@@ -0,0 +1,6 @@
+package com.fdkankan.ucenter.common;
+
+public class OssPath {
+
+    public final static String houseTypePath = "scene_edit_data/%s/user/houseType.json";
+}

+ 3 - 2
src/main/java/com/fdkankan/ucenter/config/WebAppConfig.java

@@ -27,8 +27,9 @@ public class WebAppConfig implements WebMvcConfigurer {
 	@Override
 	public void addInterceptors(InterceptorRegistry registry) {
 		registry.addInterceptor(ucenterInterceptor).addPathPatterns("/**")
-				.excludePathPatterns("/**/sso/**","/**/app/**","/test/**","/**/inner/**");
-		registry.addInterceptor(appInterceptor).addPathPatterns("/**/app/**");
+				.excludePathPatterns("/**/sso/**","/app/**","/test/**","/**/inner/**");
+
+		registry.addInterceptor(appInterceptor).addPathPatterns("/app/**");
 		WebMvcConfigurer.super.addInterceptors(registry);
 	}
 

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

@@ -2,8 +2,10 @@ package com.fdkankan.ucenter.controller;
 
 import com.fdkankan.common.util.JwtUtil;
 import com.fdkankan.ucenter.common.Result;
+import com.fdkankan.ucenter.service.IIncrementTypeService;
 import com.fdkankan.ucenter.service.IUserIncrementService;
 import com.fdkankan.ucenter.vo.request.IncrementParam;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -13,6 +15,16 @@ public class IncrementController {
 
     @Autowired
     IUserIncrementService userIncrementService;
+    @Autowired
+    IIncrementTypeService incrementTypeService;
+
+    @GetMapping("/getIncrementType")
+    public Result getIncrementType(@RequestParam (required = false) String type){
+        if(StringUtils.isEmpty(type)){
+            type = "cn";
+        }
+        return Result.success(incrementTypeService.getByType(type));
+    }
 
     @PostMapping("/findIncrementList")
     public Result findIncrementList(@RequestBody IncrementParam param, @RequestHeader String token){

+ 9 - 0
src/main/java/com/fdkankan/ucenter/controller/LoginController.java

@@ -29,6 +29,15 @@ public class LoginController {
     public Result login(@RequestBody LoginParam param){
         return Result.success(loginService.login(param));
     }
+    /**
+     * 登录
+     * phoneNum 用户名
+     * password 密码
+     */
+    @PostMapping("/loginClear")
+    public Result loginClear(@RequestBody LoginParam param){
+        return Result.success(loginService.loginClear(param));
+    }
 
     /**
      * 相机扫码登录 获取二维码

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

@@ -39,6 +39,7 @@ public class OrderController {
         orderService.cancel(param.getOrderId());
         return Result.success();
     }
+
     /**
      * 确认收货
      */
@@ -47,6 +48,7 @@ public class OrderController {
         orderService.receipt(param.getOrderId());
         return Result.success();
     }
+
     /**
      * 确认订单
      */

+ 4 - 0
src/main/java/com/fdkankan/ucenter/controller/api/FusionController.java

@@ -3,6 +3,7 @@ package com.fdkankan.ucenter.controller.api;
 import com.fdkankan.common.response.ResultData;
 import com.fdkankan.ucenter.common.Result;
 import com.fdkankan.ucenter.service.IFusionService;
+import com.fdkankan.ucenter.service.IScenePlusVoidService;
 import com.fdkankan.ucenter.vo.request.SceneParam;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -14,6 +15,7 @@ public class FusionController {
     @Autowired
     IFusionService fusionService;
 
+
     /**
      * 只需获取v4场景数据,无需文件夹
      */
@@ -22,4 +24,6 @@ public class FusionController {
 
         return Result.success(fusionService.scenePageList(param,token));
     }
+
+
 }

+ 44 - 0
src/main/java/com/fdkankan/ucenter/controller/api/VoidController.java

@@ -0,0 +1,44 @@
+package com.fdkankan.ucenter.controller.api;
+
+import com.alibaba.fastjson.JSONObject;
+import com.fdkankan.ucenter.common.Result;
+import com.fdkankan.ucenter.service.IScenePlusVoidService;
+import com.fdkankan.ucenter.vo.request.SceneParam;
+import com.fdkankan.ucenter.vo.response.ScenePlusVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/void")
+public class VoidController {
+
+    @Autowired
+    IScenePlusVoidService scenePlusVoidService;
+    /**
+     * 记录虚拟场景计算状态
+     * type  0开始计算
+     * type  1计算完成
+     * type  2计算失败
+     */
+    @GetMapping("/scene/status")
+    public Result setStatus(@RequestParam(required = false) String  num,
+                            @RequestParam(required = false) Integer type,
+                            @RequestHeader String token){
+
+        scenePlusVoidService.setStatus(num,type,token);
+        return Result.success();
+    }
+
+    /**
+     * 只需获取v4场景数据,无需文件夹
+     */
+    @PostMapping("/scene/list")
+    public Result sceneList(@RequestBody SceneParam param, @RequestHeader String token){
+        List<ScenePlusVo> scenePlusVos = scenePlusVoidService.scenePageList(param, token);
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("list",scenePlusVos);
+        return Result.success(jsonObject);
+    }
+}

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

@@ -114,5 +114,8 @@ public class IncrementOrder implements Serializable {
     @TableField("update_time")
     private String updateTime;
 
+    @TableField("increment_type")
+    private Integer incrementType;
+
 
 }

+ 93 - 0
src/main/java/com/fdkankan/ucenter/entity/IncrementType.java

@@ -0,0 +1,93 @@
+package com.fdkankan.ucenter.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 会员权益类型
+ * </p>
+ *
+ * @author 
+ * @since 2022-08-01
+ */
+@Getter
+@Setter
+@TableName("t_increment_type")
+public class IncrementType implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 权益类型名称
+     */
+    @TableField("name")
+    private String name;
+
+    @TableField("type")
+    private String type;
+
+    /**
+     * 下载次数,-1代表无限次
+     */
+    @TableField("download_num")
+    private Integer downloadNum;
+    /**
+     * 下载次数,-1代表无限次
+     */
+    @TableField("download_price")
+    private BigDecimal downloadPrice;
+
+    /**
+     * 相机容量 单位 G
+     */
+    @TableField("camera_capacity")
+    private Integer cameraCapacity;
+
+    /**
+     * 购买之后,有效期天数,-1代表无限制
+     */
+    @TableField("valid_time")
+    private Integer validTime;
+
+    /**
+     * 0:年;1:月:2:日
+     */
+    @TableField("valid_time_type")
+    private Integer validTimeType;
+
+    /**
+     * 权益价格
+     */
+    @TableField("price")
+    private BigDecimal price;
+
+    /**
+     * 价格符号
+     */
+    @TableField("symbol")
+    private String symbol;
+
+    @TableField("create_time")
+    private String createTime;
+
+    @TableField("update_time")
+    private String updateTime;
+
+    @TableField("rec_status")
+    @TableLogic(value = "A",delval = "I")
+    private String recStatus;
+
+
+}

+ 50 - 0
src/main/java/com/fdkankan/ucenter/entity/ScenePlusVoid.java

@@ -0,0 +1,50 @@
+package com.fdkankan.ucenter.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2022-08-08
+ */
+@Getter
+@Setter
+@TableName("t_scene_plus_void")
+public class ScenePlusVoid implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+
+    /**
+     * 0计算中,1计算完成,2计算失败
+     */
+    @TableField("status")
+    private Integer status;
+
+    @TableField("user_id")
+    private Long userId;
+
+    @TableField("plus_id")
+    private Long plusId;
+
+    @TableField("create_time")
+    private Date createTime;
+
+    @TableField("update_time")
+    private Date updateTime;
+
+
+}

+ 1 - 1
src/main/java/com/fdkankan/ucenter/generate/AutoGenerate.java

@@ -18,7 +18,7 @@ public class AutoGenerate {
         String path =System.getProperty("user.dir") ;
 
         generate(path,"ucenter", getTables(new String[]{
-                "t_agent_audit",
+                "t_scene_plus_void",
         }));
 
 //        generate(path,"goods", getTables(new String[]{

+ 18 - 0
src/main/java/com/fdkankan/ucenter/mapper/IIncrementTypeMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.ucenter.mapper;
+
+import com.fdkankan.ucenter.entity.IncrementType;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 会员权益类型 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2022-08-01
+ */
+@Mapper
+public interface IIncrementTypeMapper extends BaseMapper<IncrementType> {
+
+}

+ 18 - 0
src/main/java/com/fdkankan/ucenter/mapper/IScenePlusVoidMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.ucenter.mapper;
+
+import com.fdkankan.ucenter.entity.ScenePlusVoid;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2022-08-08
+ */
+@Mapper
+public interface IScenePlusVoidMapper extends BaseMapper<ScenePlusVoid> {
+
+}

+ 24 - 25
src/main/java/com/fdkankan/ucenter/pay/strategy/impl/IncrementOrderImpl.java

@@ -1,9 +1,6 @@
 package com.fdkankan.ucenter.pay.strategy.impl;
 
-import com.fdkankan.ucenter.entity.CameraDetail;
-import com.fdkankan.ucenter.entity.IncrementOrder;
-import com.fdkankan.ucenter.entity.User;
-import com.fdkankan.ucenter.entity.UserIncrement;
+import com.fdkankan.ucenter.entity.*;
 import com.fdkankan.ucenter.pay.strategy.OrderStrategy;
 import com.fdkankan.ucenter.service.*;
 import com.fdkankan.ucenter.util.DateUserUtil;
@@ -13,6 +10,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
 import java.util.UUID;
 
 @Log4j2
@@ -28,6 +27,8 @@ public class IncrementOrderImpl implements OrderStrategy {
     ISceneProService sceneProService;
     @Autowired
     ICameraDetailService cameraDetailService;
+    @Autowired
+    IIncrementTypeService incrementTypeService;
 
     @Override
     public void handleOrder(String orderSn, String tradeNo, String openId, int paymentTypeName, Long spaceId) throws Exception {
@@ -42,12 +43,14 @@ public class IncrementOrderImpl implements OrderStrategy {
             log.error("更新增值权益订单失败");
             throw new Exception("更新增值权益订单失败");
         }
-        UserIncrement userIncrementEntity = new UserIncrement();
+        UserIncrement userIncrementEntity = null;
+        IncrementType incrementType = incrementTypeService.getById(responseIncrementOrder.getIncrementType());
+        if(incrementType == null){
+            throw new Exception("更新增值权益订单失败");
+        }
         if(responseIncrementOrder.getIncrementId() == null){
-
             //新的增值权益套餐方案
-            DateTime date = new DateTime().plusYears(1);
-
+            DateTime date = DateUserUtil.getDateTime(new Date(),incrementType);
             if(responseIncrementOrder.getCount() > 0){
                 for(int i = 0, len = responseIncrementOrder.getCount(); i < len; i++){
                     userIncrementEntity = new UserIncrement();
@@ -57,24 +60,13 @@ public class IncrementOrderImpl implements OrderStrategy {
                     userIncrementEntity.setIncrementStartTime(DateUserUtil.getDate(new Date()));
                     userIncrementEntity.setIncrementEndTime(DateUserUtil.getDate(date.toDate()));
                     userIncrementEntity.setIsExpired(0);
+                    userIncrementEntity.setIncrementTypeId(responseIncrementOrder.getIncrementType());
                     userIncrementService.save(userIncrementEntity);
                 }
             }
         }else {
             userIncrementEntity = userIncrementService.getById(responseIncrementOrder.getIncrementId());
-            DateTime date = null;
-            Date nowDate = new Date();
-            if(DateUserUtil.getDate(userIncrementEntity.getIncrementEndTime()).getTime() > nowDate.getTime()){
-                date = new DateTime(userIncrementEntity.getIncrementEndTime()).plusYears(1);
-                if(DateUserUtil.getDate(userIncrementEntity.getIncrementEndTime()).getYear() % 4 == 0){
-                    date.plusDays(1);
-                }
-            }else {
-                date = new DateTime(nowDate).plusYears(1);
-                if(nowDate.getYear() % 4 == 0){
-                    date.plusDays(1);
-                }
-            }
+            DateTime date = DateUserUtil.getDateTime(DateUserUtil.getDate(userIncrementEntity.getIncrementEndTime()),incrementType);
             userIncrementEntity.setIncrementEndTime(DateUserUtil.getDate(date.toDate()));
             userIncrementEntity.setOrderSn(userIncrementEntity.getOrderSn() + "," + orderSn);
             userIncrementEntity.setCreateTime(DateUserUtil.getDate(new Date()));
@@ -88,15 +80,22 @@ public class IncrementOrderImpl implements OrderStrategy {
             }
         }
 
-        User userEntity = userService.getById(userIncrementEntity.getUserId());
-        if(userEntity != null){
-            userEntity.setDownloadNumTotal(userEntity.getDownloadNumTotal() + responseIncrementOrder.getCount() * 10);
-            userService.updateById(userEntity);
+        //增加用户下载次数
+        if(userIncrementEntity != null && userIncrementEntity.getUserId()!=null){
+            User userEntity = userService.getById(userIncrementEntity.getUserId());
+            if(userEntity != null && incrementType.getDownloadNum() >0){
+                userEntity.setDownloadNumTotal(userEntity.getDownloadNumTotal() + responseIncrementOrder.getCount() * incrementType.getDownloadNum());
+                userService.updateById(userEntity);
+            }
         }
     }
 
+
     @Override
     public String getType() {
         return "increment";
     }
+
+
+
 }

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

@@ -3,10 +3,12 @@ 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.entity.IncrementType;
 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 org.joda.time.DateTime;
 
 import java.math.BigDecimal;
 
@@ -24,9 +26,11 @@ public interface IIncrementOrderService extends IService<IncrementOrder> {
 
     GoodsSkuVo getDownloadPrice(OrderParam param);
 
-    IncrementOrder insertIncrementOrder(Long userId, DownNumParam param, BigDecimal price);
+    IncrementOrder insertIncrementOrder(Long userId, DownNumParam param, IncrementType incrementType);
 
-    IncrementOrder getByOrderSn(String orderSn);
+     DateTime getDateTime(IncrementType incrementType, Integer userIncrementId) ;
+
+     IncrementOrder getByOrderSn(String orderSn);
 
     boolean paySuccessIncrementOrder(String orderSn, String tradeNo, int paymentTypeName);
 }

+ 19 - 0
src/main/java/com/fdkankan/ucenter/service/IIncrementTypeService.java

@@ -0,0 +1,19 @@
+package com.fdkankan.ucenter.service;
+
+import com.fdkankan.ucenter.entity.IncrementType;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 会员权益类型 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2022-08-01
+ */
+public interface IIncrementTypeService extends IService<IncrementType> {
+
+    List<IncrementType> getByType(String type);
+}

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

@@ -35,4 +35,6 @@ public interface IScenePlusService extends IService<ScenePlus> {
     ScenePlus getByNum(String sceneNum);
 
     void copyV4Scene(ScenePlus scenePlus,String newNum, CameraDetail cameraDetail) throws IOException, Exception;
+
+    List<ScenePlus> getByIds(List<Long> plusIds);
 }

+ 27 - 0
src/main/java/com/fdkankan/ucenter/service/IScenePlusVoidService.java

@@ -0,0 +1,27 @@
+package com.fdkankan.ucenter.service;
+
+import com.fdkankan.ucenter.entity.ScenePlusVoid;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.ucenter.vo.request.SceneParam;
+import com.fdkankan.ucenter.vo.response.ScenePlusVo;
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2022-08-08
+ */
+public interface IScenePlusVoidService extends IService<ScenePlusVoid> {
+
+    void setStatus(String num, Integer type, String token);
+
+    List<ScenePlusVo> scenePageList(SceneParam param, String token);
+
+    HashMap<Long, ScenePlusVoid> getByPlusIds(List<Long> plusIds);
+}

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

@@ -6,6 +6,7 @@ import com.fdkankan.common.constant.SceneConstant;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.util.RedisUtil;
+import com.fdkankan.ucenter.common.DownloadStatusEnum;
 import com.fdkankan.ucenter.constant.LoginConstant;
 import com.fdkankan.ucenter.entity.*;
 import com.fdkankan.ucenter.service.*;
@@ -158,11 +159,31 @@ public class DownService implements IDownService {
             redisKey = RedisKey.PREFIX_DOWNLOAD_PROGRESS_V4;
         }
         // 获取下载进度
-        String result = redisUtil.get(redisKey);
+        String result = redisUtil.get(String.format(redisKey,sceneNum));
         if(StringUtils.isEmpty(result)){
             return new DownloadProcessVo();
         }
-        return JSONObject.parseObject(result,DownloadProcessVo.class);
+        int isUp = 0;
+        if(scenePro == null){
+            isUp = 1;
+        }
+        SceneDownloadLog sceneDownloadLog = sceneDownloadLogService.getByStatusAndNum(sceneNum,0,isUp);
+
+        DownloadProcessVo downloadProcessVo = JSONObject.parseObject(result, DownloadProcessVo.class);
+        switch (downloadProcessVo.getStatus()) {
+            case DownloadStatusEnum.DOWNLOAD_SUCCESS_CODE:
+                String url = downloadProcessVo.getUrl();
+                if (!StringUtils.isEmpty(url)) {
+                    sceneDownloadLog.setDownloadUrl(url);
+                    sceneDownloadLog.setStatus(1);
+                    break;
+                }
+            case DownloadStatusEnum.DOWNLOAD_FAILED_CODE:
+                sceneDownloadLog.setStatus(-1);
+                break;
+        }
+        sceneDownloadLogService.updateById(sceneDownloadLog);
+        return downloadProcessVo;
     }
 
 }

+ 19 - 9
src/main/java/com/fdkankan/ucenter/service/impl/FusionService.java

@@ -5,10 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.response.PageInfo;
 import com.fdkankan.ucenter.constant.LoginConstant;
-import com.fdkankan.ucenter.entity.Camera;
-import com.fdkankan.ucenter.entity.ScenePlus;
-import com.fdkankan.ucenter.entity.ScenePlusExt;
-import com.fdkankan.ucenter.entity.User;
+import com.fdkankan.ucenter.entity.*;
 import com.fdkankan.ucenter.service.*;
 import com.fdkankan.ucenter.vo.request.SceneParam;
 import com.fdkankan.ucenter.vo.response.ScenePlusVo;
@@ -31,6 +28,8 @@ public class FusionService implements IFusionService {
     IUserService userService;
     @Autowired
     ICameraService cameraService;
+    @Autowired
+    IScenePlusVoidService scenePlusVoidService;
 
     @Override
     public PageInfo scenePageList(SceneParam param, String token) {
@@ -39,20 +38,29 @@ public class FusionService implements IFusionService {
             throw new BusinessException(LoginConstant.FAILURE_CODE_3015,LoginConstant.FAILURE_MSG_3015);
         }
         List<Integer> resourceList = new ArrayList<>();
-        if(param.getType() == 0){
+        if(param.getType()!= null && param.getType() == 0){             //看看
             resourceList = Arrays.asList(1,2,12,13,14);
-        }else if(param.getType() == 1){
+        }else if(param.getType()!= null && param.getType() == 1){       //看见
             resourceList = Collections.singletonList(3);
         }
         LambdaQueryWrapper<ScenePlus> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(ScenePlus::getUserId,user.getId());
-        wrapper.in(ScenePlus::getSceneSource,resourceList);
+        if(param.getStatus() !=null && param.getStatus() == 2){
+            wrapper.eq(ScenePlus::getSceneStatus,-2);           //计算成功
+        }
+        if(resourceList.size() >0){
+            wrapper.in(ScenePlus::getSceneSource,resourceList);
+        }
         if(StringUtils.isNotBlank(param.getSceneName())){
             wrapper.like(ScenePlus::getTitle,param.getSceneName());
         }
-        if(param.getNumList()!= null && param.getNumList().size() >0){
+        if(param.getHaveVoid() !=null && param.getHaveVoid() == 0 && param.getNumList()!= null && param.getNumList().size() >0){
             wrapper.in(ScenePlus::getNum, param.getNumList());
         }
+        if(param.getHaveVoid() !=null && param.getHaveVoid() == 1 && param.getNumList()!= null && param.getNumList().size() >0){
+            wrapper.notIn(ScenePlus::getNum, param.getNumList());
+        }
+        wrapper.orderByDesc(ScenePlus::getCreateTime);
         Page<ScenePlus> page = scenePlusService.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper);
         if(page.getTotal() <=0){
             return PageInfo.PageInfo(page);
@@ -61,14 +69,16 @@ public class FusionService implements IFusionService {
         List<Long> cameraIds = page.getRecords().parallelStream().map(ScenePlus::getCameraId).collect(Collectors.toList());
         List<ScenePlusVo> list = new ArrayList<>();
         HashMap<Long, ScenePlusExt> extMap = scenePlusExtService.getByPlusIds(plusIds);
+        HashMap<Long, ScenePlusVoid> voidMap = scenePlusVoidService.getByPlusIds(plusIds);
         HashMap<Long, Camera> cameraMap = cameraService.getByIds(cameraIds);
         for (ScenePlus record : page.getRecords()) {
             ScenePlusVo scenePlusVo = new ScenePlusVo();
-            String snCode = cameraMap.get(scenePlusVo.getCameraId()) == null ? "" :cameraMap.get(scenePlusVo.getCameraId()).getSnCode();
             BeanUtils.copyProperties(record,scenePlusVo);
+            String snCode = cameraMap.get(scenePlusVo.getCameraId()) == null ? "" :cameraMap.get(scenePlusVo.getCameraId()).getSnCode();
             scenePlusVo.setPlusExt(extMap.get(record.getId()));
             scenePlusVo.setSnCode(snCode);
             scenePlusVo.setSceneType(param.getType());
+            scenePlusVo.setPlusVoid(voidMap.get(record.getId()));
             list.add(scenePlusVo);
         }
         Page<ScenePlusVo> pageVo = new Page<>(param.getPageNum(),param.getPageSize());

+ 43 - 15
src/main/java/com/fdkankan/ucenter/service/impl/IncrementOrderServiceImpl.java

@@ -5,7 +5,6 @@ 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.constant.SceneConstant;
-import com.fdkankan.common.constant.TbStatus;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.response.PageInfo;
 import com.fdkankan.common.util.NumberUtils;
@@ -25,6 +24,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.joda.time.DateTime;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
@@ -32,6 +32,8 @@ import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
+import static com.fdkankan.ucenter.util.DateUserUtil.getDateTime;
+
 /**
  * <p>
  * 增值权益订单表 服务实现类
@@ -51,6 +53,10 @@ public class IncrementOrderServiceImpl extends ServiceImpl<IIncrementOrderMapper
     IUserIncrementService userIncrementService;
     @Autowired
     IGoodsSkuService goodsSkuService;
+    @Autowired
+    IIncrementTypeService incrementTypeService;
+    @Value("${environment}")
+    private String environment;
 
     @Override
     public PageInfo pageList(IncrementOrderParam param) {
@@ -80,23 +86,43 @@ public class IncrementOrderServiceImpl extends ServiceImpl<IIncrementOrderMapper
         if(param.getDateType() == null){
             throw new BusinessException(LoginConstant.FAILURE_CODE_3001, LoginConstant.FAILURE_MSG_3001);
         }
-
-        if(param.getDateType() != 5 && param.getDateType() != 6){
+        // 5 专业会员,6 下载 , 7 高级会员
+        if(param.getDateType() != 5 && param.getDateType() != 6 && param.getDateType() !=7){
             throw new BusinessException(SceneConstant.FAILURE_CODE_5012, SceneConstant.FAILURE_MSG_5012);
         }
-        DateTime dateTime = new DateTime();
-        if(param.getUserIncrementId() != null){
-            UserIncrement userIncrementEntity = userIncrementService.getById(param.getUserIncrementId());
-            if(userIncrementEntity != null && DateUserUtil.getDate(userIncrementEntity.getIncrementEndTime()).getTime()> new Date().getTime()){
-                dateTime = new DateTime(DateUserUtil.getDate(userIncrementEntity.getIncrementEndTime()));
-            }
+
+        return getGoodsSkuVo(param.getDateType(),param.getUserIncrementId());
+    }
+
+    private GoodsSkuVo getGoodsSkuVo (Integer dateType,Integer userIncrementId){
+        GoodsSkuVo goodsSkuVo = new GoodsSkuVo();
+        IncrementType incrementType = null;
+        switch (dateType){
+            case 5 : incrementType = incrementTypeService.getByType(environment).get(0);
+                goodsSkuVo.setPrice(incrementType.getPrice());
+                break;
+            case 6: incrementType = incrementTypeService.getByType(environment).get(0);
+                goodsSkuVo.setPrice(incrementType.getDownloadPrice());
+                break;
+            case 7 : incrementType = incrementTypeService.getByType(environment).get(1);
+                goodsSkuVo.setPrice(incrementType.getPrice());
+                break;
+        }
+        goodsSkuVo.setDeadLine(getDateTime(incrementType,userIncrementId).toDate().getTime());
+        return goodsSkuVo;
+    }
+
+    @Override
+    public DateTime getDateTime(IncrementType incrementType, Integer userIncrementId) {
+        Date userTime = new Date();
+        if(userIncrementId != null){
+            UserIncrement userIncrement = userIncrementService.getById(userIncrementId);
+            userTime = DateUserUtil.getDate(userIncrement.getIncrementEndTime());
         }
-        GoodsSkuVo vo = this.getIncrementOrDownloadPrice(param.getDateType());
-        dateTime = dateTime.plusYears(1);
-        vo.setDeadLine(dateTime.toDate().getTime());
-        return vo;
+        return  DateUserUtil.getDateTime(userTime, incrementType);
     }
 
+
     public GoodsSkuVo getIncrementOrDownloadPrice(Integer dateType)  {
         String skuStr = SkuEnum.skusMap.get(String.valueOf(dateType));
         if (StringUtils.isEmpty(skuStr)){
@@ -111,8 +137,9 @@ public class IncrementOrderServiceImpl extends ServiceImpl<IIncrementOrderMapper
     }
 
     @Override
-    public IncrementOrder insertIncrementOrder(Long userId, DownNumParam param, BigDecimal price) {
-        BigDecimal total = price.multiply(new BigDecimal(param.getCount()));
+    public IncrementOrder insertIncrementOrder(Long userId, DownNumParam param,IncrementType incrementType) {
+
+        BigDecimal total = incrementType.getPrice().multiply(new BigDecimal(param.getCount()));
 
         IncrementOrder incrementOrderEntity = new IncrementOrder();
         incrementOrderEntity.setOrderSn(NumberUtils.getOrderSn());
@@ -127,6 +154,7 @@ public class IncrementOrderServiceImpl extends ServiceImpl<IIncrementOrderMapper
         incrementOrderEntity.setRecStatus("A");
         incrementOrderEntity.setCreateTime(DateUserUtil.getDate(new Date()));
         incrementOrderEntity.setUpdateTime(DateUserUtil.getDate(new Date()));
+        incrementOrderEntity.setIncrementType(param.getIncrementType());
         this.save(incrementOrderEntity);
         return incrementOrderEntity;
     }

+ 30 - 0
src/main/java/com/fdkankan/ucenter/service/impl/IncrementTypeServiceImpl.java

@@ -0,0 +1,30 @@
+package com.fdkankan.ucenter.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.fdkankan.ucenter.entity.IncrementType;
+import com.fdkankan.ucenter.mapper.IIncrementTypeMapper;
+import com.fdkankan.ucenter.service.IIncrementTypeService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 会员权益类型 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2022-08-01
+ */
+@Service
+public class IncrementTypeServiceImpl extends ServiceImpl<IIncrementTypeMapper, IncrementType> implements IIncrementTypeService {
+
+    @Override
+    public List<IncrementType> getByType(String type) {
+        LambdaQueryWrapper<IncrementType> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(IncrementType::getType,type);
+        wrapper.orderByAsc(IncrementType::getId);
+        return this.list(wrapper);
+    }
+}

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

@@ -22,7 +22,6 @@ import com.fdkankan.ucenter.vo.request.LoginParam;
 import com.fdkankan.ucenter.vo.request.RegisterParam;
 import com.fdkankan.ucenter.vo.response.LoginVo;
 import com.fdkankan.ucenter.vo.response.UserVo;
-import io.jsonwebtoken.Claims;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -53,7 +52,12 @@ public class LoginService {
         if (StringUtils.isEmpty(param.getPassword()) || StringUtils.isEmpty(param.getPhoneNum())){
             throw new BusinessException(LoginConstant.FAILURE_CODE_3001, LoginConstant.FAILURE_MSG_3001);
         }
-        String password = Base64Converter.decode(Base64Converter.subText(param.getPassword()));
+        String password ;
+        if(StringUtils.isNotBlank(param.getClear()) && param.getClear().equals("YES")){
+             password = param.getPassword();
+        }else {
+            password = Base64Converter.decode(Base64Converter.subText(param.getPassword()));
+        }
         String passwordCode = SecurityUtil.MD5(password);
         User user = userService.getByUserName(param.getPhoneNum());
         if(user == null){
@@ -269,4 +273,9 @@ public class LoginService {
             redisUtil.del(RedisKeyUtil.PREFIX_MSG_AUTH_CODE + userName);
         }
     }
+
+    public LoginVo loginClear(LoginParam param) {
+        param.setClear("YES");  //明文登录
+        return login(param);
+    }
 }

+ 10 - 5
src/main/java/com/fdkankan/ucenter/service/impl/OrderServiceImpl.java

@@ -30,6 +30,7 @@ import com.fdkankan.ucenter.vo.response.OrderVo;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
@@ -67,6 +68,10 @@ public class OrderServiceImpl extends ServiceImpl<IOrderMapper, Order> implement
     AlipayService alipayService;
     @Autowired
     IDownloadOrderService downloadOrderService;
+    @Autowired
+    IIncrementTypeService incrementTypeService;
+    @Value("${environment}")
+    private String environment;
 
     @Override
     public PageInfo pageList(OrderParam param) {
@@ -303,15 +308,15 @@ public class OrderServiceImpl extends ServiceImpl<IOrderMapper, Order> implement
         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());
+        IncrementType incrementType = incrementTypeService.getById(param.getIncrementType());
+        if(incrementType == null){
+            throw new BusinessException(OrderConstant.FAILURE_CODE_8004, OrderConstant.FAILURE_MSG_8004);
+        }
+        return incrementOrderService.insertIncrementOrder(user.getId(), param,incrementType);
     }
 
     @Override

+ 7 - 0
src/main/java/com/fdkankan/ucenter/service/impl/ScenePlusServiceImpl.java

@@ -110,6 +110,13 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
     }
 
     @Override
+    public List<ScenePlus> getByIds(List<Long> plusIds) {
+        LambdaQueryWrapper<ScenePlus> wrapper = new LambdaQueryWrapper<>();
+        wrapper.in(ScenePlus::getId,plusIds);
+        return  this.list(wrapper);
+    }
+
+    @Override
     public void copyV4Scene(ScenePlus scenePlus,String newNum, CameraDetail cameraDetail) throws Exception {
         String num = scenePlus.getNum();
         Long plusId = scenePlus.getId();

+ 123 - 0
src/main/java/com/fdkankan/ucenter/service/impl/ScenePlusVoidServiceImpl.java

@@ -0,0 +1,123 @@
+package com.fdkankan.ucenter.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.fdkankan.common.constant.ErrorCode;
+import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.common.response.PageInfo;
+import com.fdkankan.fyun.oss.UploadToOssUtil;
+import com.fdkankan.ucenter.common.OssPath;
+import com.fdkankan.ucenter.entity.ScenePlus;
+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;
+import com.fdkankan.ucenter.vo.request.SceneParam;
+import com.fdkankan.ucenter.vo.response.ScenePlusVo;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2022-08-08
+ */
+@Service
+public class ScenePlusVoidServiceImpl extends ServiceImpl<IScenePlusVoidMapper, ScenePlusVoid> implements IScenePlusVoidService {
+
+    @Autowired
+    IFusionService fusionService;
+    @Autowired
+    IUserService userService;
+    @Autowired
+    IScenePlusService scenePlusService;
+    @Autowired
+    UploadToOssUtil uploadToOssUtil;
+
+    @Override
+    public void setStatus(String num, Integer type,String token) {
+        if(StringUtils.isEmpty(num)  || type == null){
+            throw new BusinessException(ErrorCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        ScenePlus scenePlus = scenePlusService.getByNum(num);
+        if(scenePlus == null){
+            throw new BusinessException(-1,"场景不存在");
+        }
+        User user = userService.getByToken(token);
+        ScenePlusVoid plusVoid = this.getByPlusId(scenePlus.getId());
+        if(plusVoid == null){
+            plusVoid = new ScenePlusVoid();
+            plusVoid.setUserId(user.getId());
+            plusVoid.setStatus(type);
+            plusVoid.setPlusId(scenePlus.getId());
+            this.save(plusVoid);
+        }else {
+            plusVoid.setStatus(type);
+            plusVoid.setUpdateTime(null);
+            this.updateById(plusVoid);
+        }
+
+    }
+
+    private ScenePlusVoid getByPlusId(Long plusId) {
+        LambdaQueryWrapper<ScenePlusVoid> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(ScenePlusVoid::getPlusId,plusId);
+        return this.getOne(wrapper);
+    }
+
+    @Override
+    public List<ScenePlusVo> scenePageList(SceneParam param, String token) {
+        if(param.getHaveVoid()!=null){
+            User user = userService.getByToken(token);
+            LambdaQueryWrapper<ScenePlusVoid> wrapper = new LambdaQueryWrapper<>();
+            wrapper.eq(ScenePlusVoid::getStatus,1)
+                    .eq(ScenePlusVoid::getUserId,user.getId());
+            List<ScenePlusVoid> list = this.list(wrapper);
+            if(list.size() <=0 && param.getHaveVoid() == 0){
+                return new ArrayList<>();
+            }
+            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);
+                }
+            }
+        }
+        param.setStatus(2);     //计算成功的数据
+        param.setPageSize(Integer.MAX_VALUE);
+        PageInfo pageInfo = fusionService.scenePageList(param, token);
+        List<ScenePlusVo> list = (List<ScenePlusVo>) pageInfo.getList();
+        List<ScenePlusVo> newList = new ArrayList<>();
+        for (ScenePlusVo scenePlusVo : list) {  //检测oss 是否存在houseType
+            String key = String.format(OssPath.houseTypePath,scenePlusVo.getNum());
+            if(uploadToOssUtil.existKey(key)){
+                newList.add(scenePlusVo);
+            }
+        }
+        return newList;
+    }
+
+    @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;
+    }
+}

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

@@ -143,6 +143,9 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         return map;
     }
 
+    /**
+     * @param payStatus -2 封存,为 1 解封
+     */
     @Override
     public void lockOrUnLockBySpace(CameraDetail cameraDetail, Long cameraId, int payStatus) {
         LambdaQueryWrapper<ScenePro> wrapper = new LambdaQueryWrapper<>();

+ 16 - 0
src/main/java/com/fdkankan/ucenter/util/DateUserUtil.java

@@ -1,5 +1,8 @@
 package com.fdkankan.ucenter.util;
 
+import com.fdkankan.ucenter.entity.IncrementType;
+import org.joda.time.DateTime;
+
 import java.text.SimpleDateFormat;
 import java.util.Date;
 
@@ -33,4 +36,17 @@ public class DateUserUtil {
         }
        return time;
     }
+
+    public static DateTime getDateTime(Date userTime,IncrementType incrementType) {
+        DateTime dateTime = new DateTime();
+        if(userTime.getTime() >new Date().getTime()){
+            dateTime = new DateTime(userTime);
+        }
+        switch (incrementType.getValidTimeType()){
+            case 0 : return dateTime.plusYears(incrementType.getValidTime());
+            case 1 : return dateTime.plusMonths(incrementType.getValidTime());
+            case 2 : return dateTime.plusDays(incrementType.getValidTime());
+            default: return dateTime;
+        }
+    }
 }

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

@@ -13,4 +13,5 @@ public class DownNumParam {
     private String userName;
 
     private Long  incrementId;
+    private Integer incrementType = 1;
 }

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

@@ -9,4 +9,5 @@ public class LoginParam {
     private String password;        //密码
     private Integer cameraType;
     private String msgAuthCode;
+    private String clear;
 }

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

@@ -7,7 +7,7 @@ import lombok.Data;
 public class OrderParam extends RequestBase {
     private String userName;
     private Integer dateType;
-    private Long userIncrementId;
+    private Integer userIncrementId;
 
     private Long orderId;
 

+ 3 - 0
src/main/java/com/fdkankan/ucenter/vo/request/SceneParam.java

@@ -22,4 +22,7 @@ public class SceneParam extends RequestBase {
     private String sceneNum;
 
     private Integer type;
+
+    private Integer haveVoid;
+    private Integer status;
 }

+ 3 - 2
src/main/java/com/fdkankan/ucenter/vo/response/ScenePlusVo.java

@@ -2,11 +2,12 @@ package com.fdkankan.ucenter.vo.response;
 
 import com.fdkankan.ucenter.entity.ScenePlus;
 import com.fdkankan.ucenter.entity.ScenePlusExt;
+import com.fdkankan.ucenter.entity.ScenePlusVoid;
 import lombok.Data;
 
 @Data
 public class ScenePlusVo extends ScenePlus {
-    private ScenePlusExt plusExt;
-
     private String snCode;
+    private ScenePlusExt plusExt;
+    private ScenePlusVoid plusVoid;
 }

+ 40 - 0
src/main/resources/bootstrap-dev.yml

@@ -0,0 +1,40 @@
+spring:
+  application:
+    name: 4dkankan-center-ucenter
+  cloud:
+    nacos:
+      config:
+        server-addr: 120.24.144.164:8848
+        file-extension: yaml
+        namespace: 4dkankan-v4
+        extension-configs:
+          - data-id: 4dkankan-center-ucenter.yaml
+            group: DEFAULT_GROUP
+            refresh: true
+        shared-configs:
+          - data-id: common-db-config.yaml
+            group: DEFAULT_GROUP
+            refresh: true
+
+          - data-id: common-redis-config-52.yaml
+            group: DEFAULT_GROUP
+            refresh: true
+
+          - data-id: common-rabbitmq-config.yaml
+            group: DEFAULT_GROUP
+            refresh: true
+
+          - data-id: other-config.yaml
+            group: DEFAULT_GROUP
+            refresh: true
+
+          - data-id: common-upload-config.yaml
+            group: DEFAULT_GROUP
+            refresh: true
+
+      discovery:
+        server-addr: ${spring.cloud.nacos.config.server-addr}
+        namespace: ${spring.cloud.nacos.config.namespace}
+
+
+

+ 1 - 1
src/main/resources/bootstrap-test.yml

@@ -34,7 +34,7 @@ spring:
 
       discovery:
         server-addr: ${spring.cloud.nacos.config.server-addr}
-        namespace: 4dkankan-test
+        namespace: ${spring.cloud.nacos.config.namespace}
 
 
 

+ 5 - 0
src/main/resources/mapper/ucenter/IncrementTypeMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fdkankan.ucenter.mapper.IIncrementTypeMapper">
+
+</mapper>

+ 5 - 0
src/main/resources/mapper/ucenter/ScenePlusVoidMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fdkankan.ucenter.mapper.IScenePlusVoidMapper">
+
+</mapper>