Parcourir la source

房源商品店铺接口

houweiyu il y a 4 ans
Parent
commit
15e22fb084

+ 17 - 0
kankan-daikan-core/src/main/java/kankan/daikan/base/dto/GoodsReqDto.java

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

+ 2 - 1
kankan-daikan-core/src/main/java/kankan/daikan/base/entity/TmHouse.java

@@ -147,6 +147,7 @@ public class TmHouse implements Serializable {
     @ApiModelProperty(value = "创建者名称")
     private String creatorName;
 
-
+    @ApiModelProperty(value = "类型:1->新房;2->二手房;")
+    private Integer type;
 
 }

+ 2 - 1
kankan-daikan-core/src/main/java/kankan/daikan/base/entity/TmShop.java

@@ -114,5 +114,6 @@ public class TmShop implements Serializable {
     @ApiModelProperty(value = "创建者名称")
     private String creatorName;
 
-
+    @ApiModelProperty(value = "类型:1->服装;2->家具;3->数码;4->美妆;5->餐饮;6->其他")
+    private Integer type;
 }

+ 23 - 0
kankan-daikan-core/src/main/java/kankan/daikan/base/service/impl/TmGoodsServiceImpl.java

@@ -1,11 +1,15 @@
 package kankan.daikan.base.service.impl;
 
+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.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 org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 
 import java.time.LocalDateTime;
@@ -31,4 +35,23 @@ public class TmGoodsServiceImpl extends ServiceImpl<TmGoodsDao, TmGoods> impleme
         tmGoods.setUpdateTime(LocalDateTime.now());
         return getBaseMapper().insert(tmGoods);
     }
+
+    public IPage<TmGoods> getPageByShop(String shopId , long pageNum , long pageSize){
+        IPage<TmGoods> page = new Page<>(pageNum, pageSize);
+        LambdaQueryWrapper<TmGoods> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.eq(TmGoods::getIsDelete, 0);
+        lambdaQueryWrapper.eq(TmGoods::getShopId, shopId);
+        return getBaseMapper().selectPage(page , lambdaQueryWrapper);
+    }
+
+    public TmGoods getWithId(String goodsId){
+        if(StringUtils.isBlank(goodsId)){
+            return null;
+        }
+        LambdaQueryWrapper<TmGoods> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.eq(TmGoods::getId , goodsId);
+        lambdaQueryWrapper.eq(TmGoods::getIsDelete , 0);
+        lambdaQueryWrapper.last("limit 1");
+        return getBaseMapper().selectOne(lambdaQueryWrapper);
+    }
 }

+ 16 - 0
kankan-daikan-core/src/main/java/kankan/daikan/base/service/impl/TmHouseServiceImpl.java

@@ -1,10 +1,13 @@
 package kankan.daikan.base.service.impl;
 
 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.uuid.SnowFlakeUUidUtils;
 import kankan.daikan.base.dao.TmHouseDao;
 import kankan.daikan.base.entity.TmHouse;
+import kankan.daikan.base.entity.TmShop;
 import kankan.daikan.base.enums.UuidPreEnum;
 import kankan.daikan.base.service.ITmHouseService;
 import org.apache.commons.lang3.StringUtils;
@@ -35,6 +38,19 @@ public class TmHouseServiceImpl extends ServiceImpl<TmHouseDao, TmHouse> impleme
         return getBaseMapper().insert(tmHouse);
     }
 
+    public IPage<TmHouse> getPage(String houseName , Integer type , long pageNum , long pageSize){
+        IPage<TmHouse> page = new Page<>(pageNum, pageSize);
+        LambdaQueryWrapper<TmHouse> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.eq(TmHouse::getIsDelete, 0);
+        if(StringUtils.isNotBlank(houseName)){
+            lambdaQueryWrapper.like(TmHouse::getTitle, houseName);
+        }
+        if(null != type){
+            lambdaQueryWrapper.eq(TmHouse::getType, type);
+        }
+        return getBaseMapper().selectPage(page , lambdaQueryWrapper);
+    }
+
     public TmHouse getWithId(String id) {
         if (StringUtils.isBlank(id)) {
             return null;

+ 42 - 0
kankan-daikan-core/src/main/java/kankan/daikan/base/service/impl/TmShopServiceImpl.java

@@ -1,12 +1,19 @@
 package kankan.daikan.base.service.impl;
 
+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.uuid.SnowFlakeUUidUtils;
 import kankan.daikan.base.dao.TmShopDao;
+import kankan.daikan.base.entity.TmGoods;
+import kankan.daikan.base.entity.TmHouse;
 import kankan.daikan.base.entity.TmShop;
 import kankan.daikan.base.enums.UuidPreEnum;
 import kankan.daikan.base.service.ITmShopService;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDateTime;
 
@@ -32,4 +39,39 @@ public class TmShopServiceImpl extends ServiceImpl<TmShopDao, TmShop> implements
         return getBaseMapper().insert(tmShop);
     }
 
+    public TmShop getWithId(String shopId){
+        if(StringUtils.isBlank(shopId)){
+            return null;
+        }
+        LambdaQueryWrapper<TmShop> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.eq(TmShop::getId , shopId);
+        lambdaQueryWrapper.eq(TmShop::getIsDelete , 0);
+        lambdaQueryWrapper.last("limit 1");
+        return getBaseMapper().selectOne(lambdaQueryWrapper);
+    }
+
+    public IPage<TmShop> getPage(String shopName , Integer type , long pageNum , long pageSize){
+        IPage<TmShop> page = new Page<>(pageNum, pageSize);
+        LambdaQueryWrapper<TmShop> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.eq(TmShop::getIsDelete, 0);
+        if(StringUtils.isNotBlank(shopName)){
+            lambdaQueryWrapper.like(TmShop::getTitle, shopName);
+        }
+        if(null != type){
+            lambdaQueryWrapper.eq(TmShop::getType, type);
+        }
+        return getBaseMapper().selectPage(page , lambdaQueryWrapper);
+    }
+
+
+    @Transactional(rollbackFor = Exception.class)
+    public int updateHouse(TmShop tmShop){
+        if(null == tmShop || StringUtils.isBlank(tmShop.getId())){
+            return -1;
+        }
+        tmShop.setUpdateTime(LocalDateTime.now());
+        return getBaseMapper().updateById(tmShop);
+    }
+
+
 }

+ 71 - 2
kankan-daikan-core/src/main/java/kankan/daikan/core/controller/GoodsController.java

@@ -1,9 +1,18 @@
 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.entity.TmGoods;
+import kankan.daikan.base.service.impl.TmGoodsServiceImpl;
+import kankan.daikan.base.utils.DataUtils;
 import lombok.extern.log4j.Log4j2;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
 
 @Api(tags = "看店商品操作相关接口")
 @RestController
@@ -12,4 +21,64 @@ import org.springframework.web.bind.annotation.RestController;
 public class GoodsController  extends BaseController{
 
 
+    @Autowired
+    private TmGoodsServiceImpl goodsService;
+
+
+    @ApiOperation("新增商品")
+    @PostMapping(value = "/addNew")
+    public Result<Object> addNewProject(@RequestBody TmGoods tmGoods){
+        if(null == tmGoods || StringUtils.isBlank(tmGoods.getName())){
+            return Result.failure("商品名称缺失");
+        }
+        int add = goodsService.addNew(tmGoods);
+        if(add != 1){
+            return Result.failure("新增失败");
+        }
+        return Result.success();
+    }
+
+    @GetMapping("/getDetail")
+    @ApiOperation(value = "获取商品详情")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "goodId", value = "商品ID", paramType = "query", required = true, dataType = "String"),
+    })
+    public Result<Object> getDetail(@RequestParam("goodId") String goodId) {
+
+        if (StringUtils.isBlank(goodId)) {
+            return Result.failure("商品id不能为空");
+        }
+        TmGoods tmGoods = goodsService.getWithId(goodId);
+        if(null == tmGoods){
+            return Result.failure("商品不存在");
+        }
+        return Result.success();
+    }
+
+
+    @ApiOperation("拉取店铺下的商品列表")
+    @GetMapping(value = "/queryList")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "shopId", value = "店铺ID", 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> queryList(@RequestParam(name = "shopId" , required = false) String shopId ,
+                                    @RequestParam(name = "pageNum") Long pageNum ,
+                                    @RequestParam(name = "pageSize") Long pageSize){
+
+        if(StringUtils.isBlank(shopId)){
+            return Result.failure("店铺ID");
+        }
+        if(null == pageNum || null == pageSize){
+            return Result.failure("缺失分页参数");
+        }
+        IPage<TmGoods> resultPage = goodsService.getPageByShop(shopId , pageNum , pageSize);
+
+        if(null == resultPage){
+            return Result.failure("获取分页数据失败");
+        }
+        return  Result.success(DataUtils.assembleResult(resultPage.getTotal(), resultPage.getPages(),
+                resultPage.getCurrent(), resultPage.getRecords()));
+    }
 }

+ 29 - 1
kankan-daikan-core/src/main/java/kankan/daikan/core/controller/HouseController.java

@@ -1,5 +1,6 @@
 package kankan.daikan.core.controller;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import fdage.back.sdk.base.entity.Result;
 import fdage.back.sdk.base.enums.ResultCodeEnum;
 import fdage.back.sdk.base.exception.CommonBaseException;
@@ -8,8 +9,9 @@ import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import kankan.daikan.base.entity.TmHouse;
-import kankan.daikan.base.entity.TmProject;
+import kankan.daikan.base.entity.TmShop;
 import kankan.daikan.base.service.impl.TmHouseServiceImpl;
+import kankan.daikan.base.utils.DataUtils;
 import lombok.extern.log4j.Log4j2;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -84,5 +86,31 @@ public class HouseController  extends BaseController{
         return Result.success(house);
     }
 
+    @ApiOperation("拉取房源列表")
+    @GetMapping(value = "/queryList")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "houseName", value = "房源名称", paramType = "query", required = false, dataType = "String"),
+            @ApiImplicitParam(name = "type", value = "类型:1->服装;2->家具;3->数码;4->美妆;5->餐饮;6->其他", paramType = "query", required = false, 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> queryList(@RequestParam(name = "houseName" , required = false) String houseName ,
+                                    @RequestParam(name = "type" , required = false) Integer type ,
+                                    @RequestParam(name = "pageNum") Long pageNum ,
+                                    @RequestParam(name = "pageSize") Long pageSize) {
+
+        if(null == pageNum || null == pageSize){
+            return Result.failure("缺失分页参数");
+        }
+
+        IPage<TmHouse> resultPage = houseService.getPage(houseName , type , pageNum , pageSize);
+
+        if(null == resultPage){
+            return Result.failure("获取分页数据失败");
+        }
+        return  Result.success(DataUtils.assembleResult(resultPage.getTotal(), resultPage.getPages(),
+                resultPage.getCurrent(), resultPage.getRecords()));
+    }
+
 
 }

+ 108 - 3
kankan-daikan-core/src/main/java/kankan/daikan/core/controller/ShopController.java

@@ -1,9 +1,22 @@
 package kankan.daikan.core.controller;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import fdage.back.sdk.base.entity.Result;
+import fdage.back.sdk.base.enums.ResultCodeEnum;
+import fdage.back.sdk.base.exception.CommonBaseException;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import kankan.daikan.base.entity.TmGoods;
+import kankan.daikan.base.entity.TmHouse;
+import kankan.daikan.base.entity.TmShop;
+import kankan.daikan.base.service.impl.TmShopServiceImpl;
+import kankan.daikan.base.utils.DataUtils;
 import lombok.extern.log4j.Log4j2;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
 
 @Api(tags = "看店店铺操作相关接口")
 @RestController
@@ -11,4 +24,96 @@ import org.springframework.web.bind.annotation.RestController;
 @Log4j2
 public class ShopController  extends BaseController{
 
-}
+    @Autowired
+    private TmShopServiceImpl shopService;
+
+    @ApiOperation("新增店铺")
+    @PostMapping(value = "/addNew")
+    public Result<Object> addNewProject(@RequestBody TmShop tmShop){
+
+        if(!StringUtils.isNoneBlank(tmShop.getTitle() , tmShop.getSceneNum())){
+            return Result.failure("标题或者场景码不能为空");
+        }
+        if(null == tmShop.getTemplateType()){
+            return Result.failure("模板类型不能为空");
+        }
+        int add = shopService.addNew(tmShop);
+        if(add != 1){
+            return Result.failure("新增失败");
+        }
+        return Result.success("新增成功");
+    }
+
+    @ApiOperation("修改店铺")
+    @PostMapping(value = "/update")
+    public Result<Object> updateHouse(@RequestBody TmShop tmShop){
+
+        if(null == tmShop || StringUtils.isBlank(tmShop.getId())){
+            return Result.failure("缺少店铺id等参数");
+        }
+        TmShop dbShop = shopService.getWithId(tmShop.getId());
+        if(null == dbShop){
+            return Result.failure("店铺不存在");
+        }
+        if(!StringUtils.equals(dbShop.getTitle() , tmShop.getTitle())){
+            //TODO:修改了房源标题,需要更改项目标题
+
+        }
+        if(!StringUtils.equals(dbShop.getSceneNum() , tmShop.getSceneNum())){
+            //TODO:修改了场景码,需要更改项目场景码
+
+        }
+        int update = shopService.updateHouse(dbShop);
+        if(update != 1){
+            throw new CommonBaseException(ResultCodeEnum.D101 , "更新失败");
+        }
+        return Result.success();
+    }
+
+
+
+    @GetMapping("/getDetail")
+    @ApiOperation(value = "获取店铺详情")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "shopId", value = "店铺ID", paramType = "query", required = true, dataType = "String"),
+    })
+    public Result<Object> getDetail(@RequestParam("shopId") String shopId) {
+
+        if (StringUtils.isBlank(shopId)) {
+            return Result.failure("店铺ID不能为空");
+        }
+        TmShop shop = shopService.getWithId(shopId);
+        if(null == shop){
+            return Result.failure("店铺不存在");
+        }
+        return Result.success(shop);
+    }
+
+    @ApiOperation("拉取店铺列表")
+    @GetMapping(value = "/queryList")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "shopName", value = "店铺ID", paramType = "query", required = false, dataType = "String"),
+            @ApiImplicitParam(name = "type", value = "类型:1->服装;2->家具;3->数码;4->美妆;5->餐饮;6->其他", paramType = "query", required = false, 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> queryList(@RequestParam(name = "shopName" , required = false) String shopName ,
+                                    @RequestParam(name = "type" , required = false) Integer type ,
+                                    @RequestParam(name = "pageNum") Long pageNum ,
+                                    @RequestParam(name = "pageSize") Long pageSize) {
+
+        if(null == pageNum || null == pageSize){
+            return Result.failure("缺失分页参数");
+        }
+
+        IPage<TmShop> resultPage = shopService.getPage(shopName , type , pageNum , pageSize);
+
+        if(null == resultPage){
+            return Result.failure("获取分页数据失败");
+        }
+        return  Result.success(DataUtils.assembleResult(resultPage.getTotal(), resultPage.getPages(),
+                resultPage.getCurrent(), resultPage.getRecords()));
+    }
+
+
+    }