Browse Source

增加项目接口

houweiyu 4 years ago
parent
commit
42e63a1fa2
25 changed files with 865 additions and 53 deletions
  1. 14 0
      kankan-daikan-core/src/main/java/kankan/daikan/base/dto/CommonDto.java
  2. 340 0
      kankan-daikan-core/src/main/java/kankan/daikan/base/dto/KankanSceneRspDto.java
  3. 16 0
      kankan-daikan-core/src/main/java/kankan/daikan/base/dto/ProjectReqDto.java
  4. 4 0
      kankan-daikan-core/src/main/java/kankan/daikan/base/entity/TmGoods.java
  5. 4 0
      kankan-daikan-core/src/main/java/kankan/daikan/base/entity/TmGoodsHot.java
  6. 4 0
      kankan-daikan-core/src/main/java/kankan/daikan/base/entity/TmGoodsHotRelation.java
  7. 4 0
      kankan-daikan-core/src/main/java/kankan/daikan/base/entity/TmHouse.java
  8. 4 0
      kankan-daikan-core/src/main/java/kankan/daikan/base/entity/TmHouseHot.java
  9. 4 0
      kankan-daikan-core/src/main/java/kankan/daikan/base/entity/TmProject.java
  10. 3 0
      kankan-daikan-core/src/main/java/kankan/daikan/base/entity/TmShop.java
  11. 6 8
      kankan-daikan-core/src/main/java/kankan/daikan/base/enums/UuidPreEnum.java
  12. 0 32
      kankan-daikan-core/src/main/java/kankan/daikan/base/exception/ControllerHanderException.java
  13. 37 0
      kankan-daikan-core/src/main/java/kankan/daikan/base/exception/GlobalExceptionHandler.java
  14. 16 2
      kankan-daikan-core/src/main/java/kankan/daikan/base/service/impl/TmGoodsServiceImpl.java
  15. 18 2
      kankan-daikan-core/src/main/java/kankan/daikan/base/service/impl/TmHouseServiceImpl.java
  16. 87 2
      kankan-daikan-core/src/main/java/kankan/daikan/base/service/impl/TmProjectServiceImpl.java
  17. 17 2
      kankan-daikan-core/src/main/java/kankan/daikan/base/service/impl/TmShopServiceImpl.java
  18. 0 2
      kankan-daikan-core/src/main/java/kankan/daikan/base/shiro/realm/UserJwtRealm.java
  19. 83 0
      kankan-daikan-core/src/main/java/kankan/daikan/base/utils/FdkankanHelper.java
  20. 13 3
      kankan-daikan-core/src/main/java/kankan/daikan/core/controller/BaseController.java
  21. 15 0
      kankan-daikan-core/src/main/java/kankan/daikan/core/controller/GoodsController.java
  22. 14 0
      kankan-daikan-core/src/main/java/kankan/daikan/core/controller/HouseController.java
  23. 94 0
      kankan-daikan-core/src/main/java/kankan/daikan/core/controller/ProjectController.java
  24. 54 0
      kankan-daikan-core/src/main/java/kankan/daikan/core/controller/SceneController.java
  25. 14 0
      kankan-daikan-core/src/main/java/kankan/daikan/core/controller/ShopController.java

+ 14 - 0
kankan-daikan-core/src/main/java/kankan/daikan/base/dto/CommonDto.java

@@ -0,0 +1,14 @@
+package kankan.daikan.base.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+@Data
+public class CommonDto implements Serializable {
+
+    @ApiModelProperty(value = "ID,多个ID通过逗号分隔")
+    private String ids;
+}

File diff suppressed because it is too large
+ 340 - 0
kankan-daikan-core/src/main/java/kankan/daikan/base/dto/KankanSceneRspDto.java


+ 16 - 0
kankan-daikan-core/src/main/java/kankan/daikan/base/dto/ProjectReqDto.java

@@ -0,0 +1,16 @@
+package kankan.daikan.base.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+
+@Data
+public class ProjectReqDto implements Serializable {
+
+    private String projectName;
+    private LocalDate startDate;
+    private LocalDate endDate;
+    private Long pageNum;
+    private Long pageSize;
+}

+ 4 - 0
kankan-daikan-core/src/main/java/kankan/daikan/base/entity/TmGoods.java

@@ -78,5 +78,9 @@ public class TmGoods implements Serializable {
     @ApiModelProperty(value = "创建者所属部门ID")
     private String creatorDeptId;
 
+    @ApiModelProperty(value = "创建者名称")
+    private String creatorName;
+
+
 
 }

+ 4 - 0
kankan-daikan-core/src/main/java/kankan/daikan/base/entity/TmGoodsHot.java

@@ -65,5 +65,9 @@ public class TmGoodsHot implements Serializable {
     @ApiModelProperty(value = "创建者所属部门ID")
     private String creatorDeptId;
 
+    @ApiModelProperty(value = "创建者名称")
+    private String creatorName;
+
+
 
 }

+ 4 - 0
kankan-daikan-core/src/main/java/kankan/daikan/base/entity/TmGoodsHotRelation.java

@@ -65,5 +65,9 @@ public class TmGoodsHotRelation implements Serializable {
     @ApiModelProperty(value = "创建者所属部门ID")
     private String creatorDeptId;
 
+    @ApiModelProperty(value = "创建者名称")
+    private String creatorName;
+
+
 
 }

+ 4 - 0
kankan-daikan-core/src/main/java/kankan/daikan/base/entity/TmHouse.java

@@ -144,5 +144,9 @@ public class TmHouse implements Serializable {
     @ApiModelProperty(value = "查看统计数")
     private Long viewNum;
 
+    @ApiModelProperty(value = "创建者名称")
+    private String creatorName;
+
+
 
 }

+ 4 - 0
kankan-daikan-core/src/main/java/kankan/daikan/base/entity/TmHouseHot.java

@@ -68,5 +68,9 @@ public class TmHouseHot implements Serializable {
     @ApiModelProperty(value = "创建者所属部门ID")
     private String creatorDeptId;
 
+    @ApiModelProperty(value = "创建者名称")
+    private String creatorName;
+
+
 
 }

+ 4 - 0
kankan-daikan-core/src/main/java/kankan/daikan/base/entity/TmProject.java

@@ -79,5 +79,9 @@ public class TmProject implements Serializable {
     @ApiModelProperty(value = "查看统计数")
     private Long viewSum;
 
+    @ApiModelProperty(value = "创建者名称")
+    private String creatorName;
+
+
 
 }

+ 3 - 0
kankan-daikan-core/src/main/java/kankan/daikan/base/entity/TmShop.java

@@ -111,5 +111,8 @@ public class TmShop implements Serializable {
     @ApiModelProperty(value = "查看统计数")
     private Long viewNum;
 
+    @ApiModelProperty(value = "创建者名称")
+    private String creatorName;
+
 
 }

+ 6 - 8
kankan-daikan-core/src/main/java/kankan/daikan/base/enums/UuidPreEnum.java

@@ -7,14 +7,12 @@ package kankan.daikan.base.enums;
  */
 public enum UuidPreEnum {
 
-    AUDIT_ID_PRE("AUD00000" , "项目管理的审核UUID前缀"),
-    ESTATE_ID_PRE("EST00001" , "项目管理的楼盘UUID前缀"),
-    HOUSE_ID_PRE("HUS00001" , "项目管理中房源的UUID前缀"),
-    API_REQUEST_ID_PRE("HOUSREQ0" , "房源格式化请求的UUID前缀"),
-    API_ROOM_ID_PRE("ROOMID01" , "VR看房的SOCKET房间号的UUID前缀"),
-    API_HOUSE_ID_PRE("APIHOUSE" , "API房源信息的UUID前缀"),
-    API_HOUSE_RECOMMEND_ID_PRE("RECHOUSE" , "API房源的推荐房源信息的UUID前缀"),
-    OPERATION_ID_PRE("OP000001" , "操作日志的UUID前缀"),
+
+    HOUSE_ID_PRE("HUS00001" , "房源的UUID前缀"),
+    PROJECT_ID_PRE("PRJ00001" , "项目的UUID前缀"),
+    GOODS_ID_PRE("GD000001" , "商品的UUID前缀"),
+    HOT_ID_PRE("HT000001" , "热点的UUID前缀"),
+    RELATION_ID_PRE("RL000001" , "关联关系表的UUID前缀"),
     ;
     private String pre;
     private String desc;

+ 0 - 32
kankan-daikan-core/src/main/java/kankan/daikan/base/exception/ControllerHanderException.java

@@ -1,32 +0,0 @@
-package kankan.daikan.base.exception;
-
-import fdage.back.sdk.base.entity.Result;
-import fdage.back.sdk.base.exception.CommonBaseException;
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.ControllerAdvice;
-import org.springframework.web.bind.annotation.ExceptionHandler;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.bind.annotation.ResponseStatus;
-
-/**
- * @author abnerhou
- * @date 2020/9/27 19:09
- * @desciption
- */
-@ControllerAdvice
-public class ControllerHanderException {
-
-    @ExceptionHandler(CommonBaseException.class)
-    @ResponseBody
-    @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
-    //在这个方法里定义我们需要返回的格式
-//    public Map<String, Object> handleUserNotExistException(CommonBaseException ex){
-    public Result handleUserNotExistException(CommonBaseException e){
-       /* Map<String, Object> result = new HashMap<>();
-        result.put("code", ex.getCode());
-        result.put("msg", ex.getMsg());
-        return result;*/
-        return Result.failure(null == e.getCode() ? Result.CODE_FAILURE : e.getCode(), e.getMsg());
-    }
-
-}

+ 37 - 0
kankan-daikan-core/src/main/java/kankan/daikan/base/exception/GlobalExceptionHandler.java

@@ -0,0 +1,37 @@
+package kankan.daikan.base.exception;
+
+/**
+ * @author abnerhou
+ * @date 2020/6/1 18:02
+ * @desciption
+ */
+
+import fdage.back.sdk.base.entity.Result;
+import fdage.back.sdk.base.exception.CommonBaseException;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.http.HttpStatus;
+import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.ResponseStatus;
+import org.springframework.web.bind.annotation.RestControllerAdvice;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * 全局异常捕获统一返回客户端
+ */
+@Log4j2
+@RestControllerAdvice
+public class GlobalExceptionHandler {
+
+    @ResponseBody
+    @ExceptionHandler(CommonBaseException.class)
+    @ResponseStatus(HttpStatus.OK)
+    public Result<Object> runtimeExceptionHandler(HttpServletRequest request, CommonBaseException e) {
+        log.error(request.getRequestURI() + ":" + e.getMsg());
+        return Result.failure(StringUtils.isEmpty(e.getCode()) ? Result.CODE_FAILURE : e.getCode(), e.getMsg());
+    }
+
+
+}

+ 16 - 2
kankan-daikan-core/src/main/java/kankan/daikan/base/service/impl/TmGoodsServiceImpl.java

@@ -1,11 +1,15 @@
 package kankan.daikan.base.service.impl;
 
-import kankan.daikan.base.entity.TmGoods;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import fdage.back.sdk.base.uuid.SnowFlakeUUidUtils;
 import kankan.daikan.base.dao.TmGoodsDao;
+import kankan.daikan.base.entity.TmGoods;
+import kankan.daikan.base.enums.UuidPreEnum;
 import kankan.daikan.base.service.ITmGoodsService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.time.LocalDateTime;
+
 /**
  * <p>
  * 看店商品信息表 服务实现类
@@ -17,4 +21,14 @@ import org.springframework.stereotype.Service;
 @Service
 public class TmGoodsServiceImpl extends ServiceImpl<TmGoodsDao, TmGoods> implements ITmGoodsService {
 
+    public int addNew(TmGoods tmGoods) {
+        if (null == tmGoods) {
+            return -1;
+        }
+        tmGoods.setId(SnowFlakeUUidUtils.generaUUid(null, null, UuidPreEnum.HOUSE_ID_PRE.getPre()));
+        tmGoods.setIsDelete(0);
+        tmGoods.setCreateTime(LocalDateTime.now());
+        tmGoods.setUpdateTime(LocalDateTime.now());
+        return getBaseMapper().insert(tmGoods);
+    }
 }

+ 18 - 2
kankan-daikan-core/src/main/java/kankan/daikan/base/service/impl/TmHouseServiceImpl.java

@@ -1,11 +1,15 @@
 package kankan.daikan.base.service.impl;
 
-import kankan.daikan.base.entity.TmHouse;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import fdage.back.sdk.base.uuid.SnowFlakeUUidUtils;
 import kankan.daikan.base.dao.TmHouseDao;
+import kankan.daikan.base.entity.TmHouse;
+import kankan.daikan.base.enums.UuidPreEnum;
 import kankan.daikan.base.service.ITmHouseService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.time.LocalDateTime;
+
 /**
  * <p>
  * 房源信息表 服务实现类
@@ -17,4 +21,16 @@ import org.springframework.stereotype.Service;
 @Service
 public class TmHouseServiceImpl extends ServiceImpl<TmHouseDao, TmHouse> implements ITmHouseService {
 
+    public int addNew(TmHouse tmHouse) {
+        if (null == tmHouse) {
+            return -1;
+        }
+        tmHouse.setId(SnowFlakeUUidUtils.generaUUid(null, null, UuidPreEnum.HOUSE_ID_PRE.getPre()));
+        tmHouse.setIsDelete(0);
+        tmHouse.setCreateTime(LocalDateTime.now());
+        tmHouse.setUpdateTime(LocalDateTime.now());
+        return getBaseMapper().insert(tmHouse);
+    }
+
+
 }

+ 87 - 2
kankan-daikan-core/src/main/java/kankan/daikan/base/service/impl/TmProjectServiceImpl.java

@@ -1,10 +1,26 @@
 package kankan.daikan.base.service.impl;
 
-import kankan.daikan.base.entity.TmProject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import fdage.back.sdk.base.enums.ResultCodeEnum;
+import fdage.back.sdk.base.exception.CommonBaseException;
+import fdage.back.sdk.base.uuid.SnowFlakeUUidUtils;
 import kankan.daikan.base.dao.TmProjectDao;
+import kankan.daikan.base.entity.TmProject;
+import kankan.daikan.base.enums.UuidPreEnum;
 import kankan.daikan.base.service.ITmProjectService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.log4j.Log4j2;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.Arrays;
+import java.util.List;
 
 /**
  * <p>
@@ -15,6 +31,75 @@ import org.springframework.stereotype.Service;
  * @since 2021-04-22
  */
 @Service
+@Log4j2
 public class TmProjectServiceImpl extends ServiceImpl<TmProjectDao, TmProject> implements ITmProjectService {
 
+
+    public int addNew(TmProject tmProject) {
+        if (null == tmProject) {
+            return -1;
+        }
+        tmProject.setId(SnowFlakeUUidUtils.generaUUid(null, null, UuidPreEnum.HOUSE_ID_PRE.getPre()));
+        tmProject.setIsDelete(0);
+        tmProject.setCreateTime(LocalDateTime.now());
+        tmProject.setUpdateTime(LocalDateTime.now());
+        return getBaseMapper().insert(tmProject);
+    }
+
+    public TmProject getWithId(String id) {
+        if (StringUtils.isBlank(id)) {
+            return null;
+        }
+        LambdaQueryWrapper<TmProject> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.eq(TmProject::getIsDelete, 0);
+        lambdaQueryWrapper.eq(TmProject::getId, id);
+        lambdaQueryWrapper.last("limit 1");
+        return getBaseMapper().selectOne(lambdaQueryWrapper);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    public void batchDeleteById(String ids){
+        if(StringUtils.isBlank(ids)){
+            return;
+        }
+        List<String> idList = Arrays.asList(ids.split(","));
+        if(!CollectionUtils.isEmpty(idList)){
+            for (String id : idList) {
+               TmProject project = getWithId(id);
+               if(null == project){
+                   continue;
+               }
+               if(project.getIsDelete() == 1){
+                   continue;
+               }
+               project.setIsDelete(1);
+               int update = getBaseMapper().updateById(project);
+               if(update != 1){
+                   log.warn("删除项目[{}]失败" , id);
+                   throw new CommonBaseException(ResultCodeEnum.D101 , "删除失败");
+               }
+            }
+        }
+    }
+
+
+    public IPage<TmProject> getPageList(long pageNum, long pageSize,
+                                        String name, LocalDate start,
+                                        LocalDate end, String userName) {
+        IPage<TmProject> page = new Page<>(pageNum, pageSize);
+        LambdaQueryWrapper<TmProject> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.eq(TmProject::getIsDelete, 0);
+        lambdaQueryWrapper.eq(TmProject::getCreatorName, userName);
+        if (StringUtils.isNotBlank(name)) {
+            lambdaQueryWrapper.like(TmProject::getName, name);
+        }
+        if (null != start && null != end) {
+            lambdaQueryWrapper.ge(true, TmProject::getCreateTime, start);
+            lambdaQueryWrapper.le(true, TmProject::getCreateTime, end);
+        }
+        lambdaQueryWrapper.orderByDesc(TmProject::getCreateTime);
+        return getBaseMapper().selectPage(page, lambdaQueryWrapper);
+    }
+
+
 }

+ 17 - 2
kankan-daikan-core/src/main/java/kankan/daikan/base/service/impl/TmShopServiceImpl.java

@@ -1,11 +1,15 @@
 package kankan.daikan.base.service.impl;
 
-import kankan.daikan.base.entity.TmShop;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import fdage.back.sdk.base.uuid.SnowFlakeUUidUtils;
 import kankan.daikan.base.dao.TmShopDao;
+import kankan.daikan.base.entity.TmShop;
+import kankan.daikan.base.enums.UuidPreEnum;
 import kankan.daikan.base.service.ITmShopService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.time.LocalDateTime;
+
 /**
  * <p>
  * 店铺信息表 服务实现类
@@ -17,4 +21,15 @@ import org.springframework.stereotype.Service;
 @Service
 public class TmShopServiceImpl extends ServiceImpl<TmShopDao, TmShop> implements ITmShopService {
 
+    public int addNew(TmShop tmShop) {
+        if (null == tmShop) {
+            return -1;
+        }
+        tmShop.setId(SnowFlakeUUidUtils.generaUUid(null, null, UuidPreEnum.HOUSE_ID_PRE.getPre()));
+        tmShop.setIsDelete(0);
+        tmShop.setCreateTime(LocalDateTime.now());
+        tmShop.setUpdateTime(LocalDateTime.now());
+        return getBaseMapper().insert(tmShop);
+    }
+
 }

+ 0 - 2
kankan-daikan-core/src/main/java/kankan/daikan/base/shiro/realm/UserJwtRealm.java

@@ -68,9 +68,7 @@ public class UserJwtRealm extends AuthorizingRealm {
             //无token,需要重新登录动作,生成token
             throw new CommonBaseException(3004, "请重新登录");
         } else {
-
             validateToken(token);
-
         }
         String userName = JwtUtil.getUserName(token);
         if (StringUtils.isBlank(userName)) {

+ 83 - 0
kankan-daikan-core/src/main/java/kankan/daikan/base/utils/FdkankanHelper.java

@@ -0,0 +1,83 @@
+package kankan.daikan.base.utils;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import fdage.back.sdk.base.entity.Result;
+import fdage.back.sdk.base.enums.ResultCodeEnum;
+import fdage.back.sdk.base.exception.CommonBaseException;
+import fdage.back.sdk.utils.HttpClientUtil;
+import kankan.daikan.base.dto.KankanSceneRspDto;
+import lombok.extern.log4j.Log4j2;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 1 * @Author: Abner
+ * 2 * @Date: 2021/3/29 16:45
+ * 3
+ */
+@Service
+@Log4j2
+public class FdkankanHelper {
+
+    public static final String TOKEN_KEY = "token";
+
+    @Value("${scenePath}")
+    private String kankanHost;
+
+    /***
+     *
+     * 获取用户下面所有场景
+     *
+     */
+    public KankanSceneRspDto getSceneListByUser(String key, String token, long pageNum, long pageSize) {
+
+        String url = kankanHost + "/api/user/scene/list";
+        Map<String, Object> headers = new HashMap<>();
+        headers.put(TOKEN_KEY, token);
+        Map<String, Object> param = new HashMap<>();
+        param.put("searchKey", key);
+        param.put("pageNum", pageNum);
+        param.put("pageSize", pageSize);
+        String kankanResult = HttpClientUtil.doPostJsonWithHeader(url, JSON.toJSONString(param), headers);
+        log.info("四维看看返回:{}", JSON.toJSONString(kankanResult));
+        if (StringUtils.isBlank(kankanResult)) {
+            throw new CommonBaseException(ResultCodeEnum.D101, "获取相机的场景列表时,四维看看返回为空");
+        }
+        JSONObject jsonObject = JSON.parseObject(kankanResult);
+        if(null == jsonObject){
+            log.warn("解析四维看看返回结果失败");
+            return null;
+        }
+        return  jsonObject.toJavaObject(KankanSceneRspDto.class);
+    }
+
+
+    public Result<Object> parseKanKanResult(JSONObject res, String defaultFailMsg) {
+        if (null != res) {
+            int code = -10;
+            if (res.containsKey("code")) {
+                code = (int) res.get("code");
+            }
+            String msg = null;
+            if (res.containsKey("msg")) {
+                msg = (String) res.get("msg");
+            }
+            Object data = null;
+            if (res.containsKey("data")) {
+                data = res.get("data");
+            }
+
+            if (0 == code) {
+                return Result.success(msg, data);
+            } else {
+                return Result.failure(msg);
+            }
+        }
+        return Result.failure(defaultFailMsg);
+    }
+}

+ 13 - 3
kankan-daikan-core/src/main/java/kankan/daikan/core/controller/BaseController.java

@@ -1,5 +1,9 @@
 package kankan.daikan.core.controller;
 
+import fdage.back.sdk.base.enums.ResultCodeEnum;
+import fdage.back.sdk.base.exception.CommonBaseException;
+import fdage.back.sdk.utils.JwtUtil;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
 
@@ -17,12 +21,18 @@ public class BaseController {
     @Autowired
     protected HttpServletRequest request;
 
-    @Autowired
-    protected RedisTemplate redisTemplate;
-
     protected String getToken(){
         return request.getHeader(TOKEN);
     }
 
+    protected String getUserName() {
+        String token = request.getHeader(TOKEN);
+        String userName = JwtUtil.getUserName(token);
+        if (StringUtils.isBlank(userName)) {
+            throw new CommonBaseException(ResultCodeEnum.D101, "用户无效");
+        }
+       return userName;
+    }
+
 
 }

+ 15 - 0
kankan-daikan-core/src/main/java/kankan/daikan/core/controller/GoodsController.java

@@ -0,0 +1,15 @@
+package kankan.daikan.core.controller;
+
+import io.swagger.annotations.Api;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@Api(tags = "看店商品操作相关接口")
+@RestController
+@RequestMapping("shop/goods")
+@Log4j2
+public class GoodsController  extends BaseController{
+
+
+}

+ 14 - 0
kankan-daikan-core/src/main/java/kankan/daikan/core/controller/HouseController.java

@@ -0,0 +1,14 @@
+package kankan.daikan.core.controller;
+
+import io.swagger.annotations.Api;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@Api(tags = "看房房源相关接口")
+@RestController
+@RequestMapping("/house")
+@Log4j2
+public class HouseController  extends BaseController{
+
+}

+ 94 - 0
kankan-daikan-core/src/main/java/kankan/daikan/core/controller/ProjectController.java

@@ -0,0 +1,94 @@
+package kankan.daikan.core.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import fdage.back.sdk.base.entity.Result;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import kankan.daikan.base.dto.CommonDto;
+import kankan.daikan.base.dto.ProjectReqDto;
+import kankan.daikan.base.entity.TmProject;
+import kankan.daikan.base.service.impl.TmProjectServiceImpl;
+import kankan.daikan.base.utils.DataUtils;
+import lombok.extern.log4j.Log4j2;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+@Api(tags = "项目相关接口")
+@RestController
+@RequestMapping("/project")
+@Log4j2
+public class ProjectController  extends BaseController{
+
+
+    @Autowired
+    private TmProjectServiceImpl projectService;
+
+    @ApiOperation("新增项目")
+    @PostMapping(value = "/addNewProject")
+    public Result<Object> addNewProject(@RequestBody TmProject tmProject){
+
+        if(!StringUtils.isNoneBlank(tmProject.getName() , tmProject.getSceneNum())){
+            return Result.failure("标题或者场景码不能为空");
+        }
+        if(null == tmProject.getTemplateType()){
+            return Result.failure("模板类型不能为空");
+        }
+        int add = projectService.addNew(tmProject);
+        if(add != 1){
+            return Result.failure("新增失败");
+        }
+        return Result.success("新增成功");
+    }
+
+
+    @ApiOperation("批量删除项目,多个id通过逗号分隔")
+    @PostMapping(value = "/batchDelete")
+    public Result<Object> batchDelete(@RequestBody CommonDto commonDto){
+
+        if(null == commonDto || StringUtils.isBlank(commonDto.getIds())){
+            return Result.failure("缺失id列表");
+        }
+        projectService.batchDeleteById(commonDto.getIds());
+        return Result.success();
+    }
+
+    @ApiOperation("拉取项目列表")
+    @PostMapping(value = "/queryProjectList")
+    public Result<Object> queryProjectList(@RequestBody ProjectReqDto projectReqDto){
+
+        if(null == projectReqDto.getPageNum() || null == projectReqDto.getPageSize()){
+            return Result.failure("缺失分页参数");
+        }
+        IPage<TmProject> resultPage = projectService.getPageList(projectReqDto.getPageNum() , projectReqDto.getPageSize() ,
+                projectReqDto.getProjectName() , projectReqDto.getStartDate() , projectReqDto.getEndDate() , getUserName());
+
+        if(null == resultPage){
+            return Result.failure("获取数据失败");
+        }
+        return Result.success(DataUtils.assembleResult(resultPage.getTotal(), resultPage.getPages(),
+                resultPage.getCurrent(), resultPage.getRecords()));
+    }
+
+
+    @GetMapping("/getDetail")
+    @ApiOperation(value = "获取项目详情")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "projectId", value = "项目ID", paramType = "query", required = true, dataType = "String"),
+    })
+    public Result<Object> getDetail(@RequestParam("projectId") String projectId) {
+
+        if (StringUtils.isBlank(projectId)) {
+            return Result.failure("项目ID不能为空");
+        }
+        TmProject project = projectService.getWithId(projectId);
+        if(null == project){
+            return Result.failure("项目不存在");
+        }
+        return Result.success(project);
+    }
+
+
+}

+ 54 - 0
kankan-daikan-core/src/main/java/kankan/daikan/core/controller/SceneController.java

@@ -0,0 +1,54 @@
+package kankan.daikan.core.controller;
+
+import fdage.back.sdk.base.entity.Result;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import kankan.daikan.base.dto.KankanSceneRspDto;
+import kankan.daikan.base.utils.DataUtils;
+import kankan.daikan.base.utils.FdkankanHelper;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+@Api(tags = "场景相关接口")
+@RestController
+@RequestMapping("/scene")
+@Log4j2
+public class SceneController extends BaseController{
+
+
+   @Autowired
+   private FdkankanHelper fdkankanHelper;
+
+
+    @GetMapping("/getSceneList")
+    @ApiOperation(value = "从四维看看用户下面所有的场景")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "key", value = "查询字段", paramType = "query", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", paramType = "query", required = true, dataType = "Long"),
+            @ApiImplicitParam(name = "pageSize", value = "每页大小", paramType = "query", required = true, dataType = "Long"),
+    })
+    public Result<Object> getSceneList(@RequestParam(name = "key") String key ,
+                                       @RequestParam(name = "pageNum") Long pageNum ,
+                                       @RequestParam(name = "pageSize") Long pageSize) {
+
+        if(null == pageNum || null == pageSize){
+            return Result.failure("缺失分页数据");
+        }
+        KankanSceneRspDto kankanSceneRspDto = fdkankanHelper.getSceneListByUser(key ,getToken() , pageNum , pageSize);
+        if(null == kankanSceneRspDto || null == kankanSceneRspDto.getData()){
+            return Result.failure("获取场景列表失败");
+        }
+        if(null == kankanSceneRspDto.getCode() || kankanSceneRspDto.getCode() != 0){
+            return Result.failure("获取场景列表失败,原因:{}" + kankanSceneRspDto.getMsg());
+        }
+
+        return  Result.success(DataUtils.assembleResult(kankanSceneRspDto.getData().getTotal(), kankanSceneRspDto.getData().getPages(),
+                pageNum, kankanSceneRspDto.getData().getList()));
+    }
+}

+ 14 - 0
kankan-daikan-core/src/main/java/kankan/daikan/core/controller/ShopController.java

@@ -0,0 +1,14 @@
+package kankan.daikan.core.controller;
+
+import io.swagger.annotations.Api;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@Api(tags = "看店店铺操作相关接口")
+@RestController
+@RequestMapping("shop/brand")
+@Log4j2
+public class ShopController  extends BaseController{
+
+}