From 814b1b4825e641aaedcbfd686c2e082c45729180 Mon Sep 17 00:00:00 2001 From: WeiRan <2392355487@qq.com> Date: Fri, 30 Aug 2024 10:43:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=96=B0=E9=97=BB=E5=A4=B4?= =?UTF-8?q?=E6=9D=A1=E5=92=8C=E4=B8=87=E5=B9=B4=E5=8E=86=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E8=B0=83=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../muyu/cloud/background/domin/Product.java | 6 ++ .../background/domin/req/ProductAddReq.java | 4 + .../background/domin/req/ProductListReq.java | 4 + .../background/domin/req/ProductUpdReq.java | 4 + .../domin/resp/ProductListResp.java | 5 + .../com/muyu/cloud/background/api/News.java | 4 + .../controller/ApiManageController.java | 91 +++++++++++++++++++ ...Controller.java => ApiUserController.java} | 10 +- .../background/mapper/ApiManageMapper.java | 16 ++++ .../background/service/ApiManageService.java | 25 +++++ .../service/impl/ApiManageServiceImpl.java | 52 +++++++++++ 11 files changed, 219 insertions(+), 2 deletions(-) create mode 100644 cloud-background-server/src/main/java/com/muyu/cloud/background/controller/ApiManageController.java rename cloud-background-server/src/main/java/com/muyu/cloud/background/controller/{ApiController.java => ApiUserController.java} (92%) create mode 100644 cloud-background-server/src/main/java/com/muyu/cloud/background/mapper/ApiManageMapper.java create mode 100644 cloud-background-server/src/main/java/com/muyu/cloud/background/service/ApiManageService.java create mode 100644 cloud-background-server/src/main/java/com/muyu/cloud/background/service/impl/ApiManageServiceImpl.java diff --git a/cloud-background-common/src/main/java/com/muyu/cloud/background/domin/Product.java b/cloud-background-common/src/main/java/com/muyu/cloud/background/domin/Product.java index 1137551..3229092 100644 --- a/cloud-background-common/src/main/java/com/muyu/cloud/background/domin/Product.java +++ b/cloud-background-common/src/main/java/com/muyu/cloud/background/domin/Product.java @@ -72,6 +72,10 @@ public class Product extends BaseEntity { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Schema(description = "产品上架日期",defaultValue = "2024-8-9 10:47:57",type = "Date") private Date productShelvesdate; + /** + * 接口来源 + */ + private String productFrom; /** * 重要路径 */ @@ -104,6 +108,7 @@ public class Product extends BaseEntity { .returnFormat(productAddReq.getReturnFormat()) .requestMethod(productAddReq.getRequestMethod()) .apiRouter(productAddReq.getApiRouter()) + .productFrom(productAddReq.getProductFrom()) .build(); } @@ -123,6 +128,7 @@ public class Product extends BaseEntity { .returnFormat(productUpdReq.getReturnFormat()) .requestMethod(productUpdReq.getRequestMethod()) .apiRouter(productUpdReq.getApiRouter()) + .productFrom(productUpdReq.getProductFrom()) .build(); } diff --git a/cloud-background-common/src/main/java/com/muyu/cloud/background/domin/req/ProductAddReq.java b/cloud-background-common/src/main/java/com/muyu/cloud/background/domin/req/ProductAddReq.java index 92fc3a4..35f3b84 100644 --- a/cloud-background-common/src/main/java/com/muyu/cloud/background/domin/req/ProductAddReq.java +++ b/cloud-background-common/src/main/java/com/muyu/cloud/background/domin/req/ProductAddReq.java @@ -64,6 +64,10 @@ public class ProductAddReq { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Schema(description = "产品上架日期",defaultValue = "2024-8-9 10:47:57",type = "Date") private Date productShelvesdate; + /** + * 接口来源 + */ + private String productFrom; /** *接口地址 */ diff --git a/cloud-background-common/src/main/java/com/muyu/cloud/background/domin/req/ProductListReq.java b/cloud-background-common/src/main/java/com/muyu/cloud/background/domin/req/ProductListReq.java index de98f0b..bf586c5 100644 --- a/cloud-background-common/src/main/java/com/muyu/cloud/background/domin/req/ProductListReq.java +++ b/cloud-background-common/src/main/java/com/muyu/cloud/background/domin/req/ProductListReq.java @@ -53,6 +53,10 @@ public class ProductListReq { *接口地址 */ private String apiAddress; + /** + * 接口来源 + */ + private String productFrom; /** * 返回格式 */ diff --git a/cloud-background-common/src/main/java/com/muyu/cloud/background/domin/req/ProductUpdReq.java b/cloud-background-common/src/main/java/com/muyu/cloud/background/domin/req/ProductUpdReq.java index 2a11fef..8b65043 100644 --- a/cloud-background-common/src/main/java/com/muyu/cloud/background/domin/req/ProductUpdReq.java +++ b/cloud-background-common/src/main/java/com/muyu/cloud/background/domin/req/ProductUpdReq.java @@ -63,6 +63,10 @@ public class ProductUpdReq { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Schema(description = "产品上架日期",defaultValue = "2024-8-9 10:47:57",type = "Date") private Date productShelvesdate; + /** + * 接口来源 + */ + private String productFrom; /** *接口地址 */ diff --git a/cloud-background-common/src/main/java/com/muyu/cloud/background/domin/resp/ProductListResp.java b/cloud-background-common/src/main/java/com/muyu/cloud/background/domin/resp/ProductListResp.java index 545ea2b..c103306 100644 --- a/cloud-background-common/src/main/java/com/muyu/cloud/background/domin/resp/ProductListResp.java +++ b/cloud-background-common/src/main/java/com/muyu/cloud/background/domin/resp/ProductListResp.java @@ -64,6 +64,10 @@ public class ProductListResp { * 重要路径 */ private String apiRouter; + /** + * 接口来源 + */ + private String productFrom; @Schema(description = "创建人",defaultValue = "muyu",type = "String") private String createBy; @@ -93,6 +97,7 @@ public class ProductListResp { .returnFormat(product.getReturnFormat()) .requestMethod(product.getRequestMethod()) .apiRouter(product.getApiRouter()) + .productFrom(product.getProductFrom()) .createBy(product.getCreateBy()) .createTime(product.getCreateTime()) .build(); diff --git a/cloud-background-server/src/main/java/com/muyu/cloud/background/api/News.java b/cloud-background-server/src/main/java/com/muyu/cloud/background/api/News.java index 266049f..8c1360b 100644 --- a/cloud-background-server/src/main/java/com/muyu/cloud/background/api/News.java +++ b/cloud-background-server/src/main/java/com/muyu/cloud/background/api/News.java @@ -16,6 +16,10 @@ import java.util.stream.Collectors; * @name:News * @Date:2024/8/29 20:49 */ + +/** + * 新闻头条 + */ @Configuration public class News { public static String fetchNews(String type, String page, String pageSize, String isFilter) throws Exception { diff --git a/cloud-background-server/src/main/java/com/muyu/cloud/background/controller/ApiManageController.java b/cloud-background-server/src/main/java/com/muyu/cloud/background/controller/ApiManageController.java new file mode 100644 index 0000000..6a4c26d --- /dev/null +++ b/cloud-background-server/src/main/java/com/muyu/cloud/background/controller/ApiManageController.java @@ -0,0 +1,91 @@ +package com.muyu.cloud.background.controller; + +import com.muyu.cloud.background.domin.Product; +import com.muyu.cloud.background.domin.req.ProductAddReq; +import com.muyu.cloud.background.domin.req.ProductListReq; +import com.muyu.cloud.background.domin.req.ProductUpdReq; +import com.muyu.cloud.background.domin.resp.ProductTotalListResp; +import com.muyu.cloud.background.service.ApiManageService; +import com.muyu.common.core.domain.Result; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.log4j.Log4j2; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +/** + * @Author:weiran + * @Package:com.muyu.cloud.background.controller + * @Project:cloud-background + * @name:ApiManageController + * @Date:2024/8/30 9:27 + */ +@Log4j2 +@RestController +@RequestMapping("/apimanage") +@Tag(name = "接口管理",description = "进行产品接口管理、查看等相关操作") +public class ApiManageController { + @Autowired + private ApiManageService apiManageService; + + /** + * 查询全部产品接口 + * @param productListReq + * @return + */ + @PostMapping(path ="/list") + @Operation(summary = "产品列表",description = "查询全部产品信息") + public Result selectList(@Validated @RequestBody ProductListReq productListReq){ + return Result.success(apiManageService.selectList(productListReq)); + } + + + /** + * 添加产品接口 + * @param productAddReq + * @return + */ + @PostMapping + @Operation(summary = "接口信息添加", description = "添加接口信息,添加成功才可以使用") + public Result save(@Validated @RequestBody ProductAddReq productAddReq){ + apiManageService.save(Product.addProductList(productAddReq)); + return Result.success(null,"操作成功"); + } + + + /** + * 修改产品接口 + * @param productId + * @param productUpdReq + * @return + */ + @PutMapping("/{productId}") + @Operation(summary = "接口信息修改", description = "通过ID修改接口信息") + public Result update( + @Schema(title = "产品ID", type = "Integer", defaultValue = "1", description = "修改产品信息需要依据的唯一条件") + @PathVariable("productId") Integer productId, + @RequestBody @Validated ProductUpdReq productUpdReq) { + apiManageService.updateById(Product.updProductList(productUpdReq,()->productId)); + return Result.success(null, "操作成功"); + } + + + + + /** + * 删除产品接口 + * @param productId + * @return + */ + @DeleteMapping("/{productId}") + @Operation(summary = "接口信息删除",description = "通过Id删除接口信息") + public Result delete(@PathVariable("productId") Integer productId){ + apiManageService.removeById(productId); + return Result.success(null, "操作成功"); + } + + + +} diff --git a/cloud-background-server/src/main/java/com/muyu/cloud/background/controller/ApiController.java b/cloud-background-server/src/main/java/com/muyu/cloud/background/controller/ApiUserController.java similarity index 92% rename from cloud-background-server/src/main/java/com/muyu/cloud/background/controller/ApiController.java rename to cloud-background-server/src/main/java/com/muyu/cloud/background/controller/ApiUserController.java index 2f4481b..54eb4cd 100644 --- a/cloud-background-server/src/main/java/com/muyu/cloud/background/controller/ApiController.java +++ b/cloud-background-server/src/main/java/com/muyu/cloud/background/controller/ApiUserController.java @@ -23,7 +23,7 @@ import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/api") @Tag(name = "接口调用",description = "进行不同接口调用") -public class ApiController { +public class ApiUserController { /** * 查询手机号归属地 @@ -43,7 +43,7 @@ public class ApiController { * @return * @throws Exception */ - @GetMapping("/bydate/{date}") + @GetMapping("/·/{date}") @Operation(summary = "万年历",description = "查询万年历") public Result JavaGet(@Validated @PathVariable String date) throws Exception { Result result = DateCalendar.fetchCalendarData(date); @@ -51,6 +51,12 @@ public class ApiController { } + /** + * 新闻头条 + * @param newsdomain + * @return + * @throws Exception + */ @PostMapping("/news") @Operation(summary = "新闻头条",description = "查询新闻头条") public Result JavaGet(@Validated @RequestBody Newsdomain newsdomain) throws Exception { diff --git a/cloud-background-server/src/main/java/com/muyu/cloud/background/mapper/ApiManageMapper.java b/cloud-background-server/src/main/java/com/muyu/cloud/background/mapper/ApiManageMapper.java new file mode 100644 index 0000000..1530fbc --- /dev/null +++ b/cloud-background-server/src/main/java/com/muyu/cloud/background/mapper/ApiManageMapper.java @@ -0,0 +1,16 @@ +package com.muyu.cloud.background.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.muyu.cloud.background.domin.Product; +import org.apache.ibatis.annotations.Mapper; + +/** + * @Author:weiran + * @Package:com.muyu.cloud.background.mapper + * @Project:cloud-background + * @name:ApiManageMapper + * @Date:2024/8/30 9:34 + */ +@Mapper +public interface ApiManageMapper extends BaseMapper { +} diff --git a/cloud-background-server/src/main/java/com/muyu/cloud/background/service/ApiManageService.java b/cloud-background-server/src/main/java/com/muyu/cloud/background/service/ApiManageService.java new file mode 100644 index 0000000..baca484 --- /dev/null +++ b/cloud-background-server/src/main/java/com/muyu/cloud/background/service/ApiManageService.java @@ -0,0 +1,25 @@ +package com.muyu.cloud.background.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.cloud.background.domin.Product; +import com.muyu.cloud.background.domin.req.ProductListReq; +import com.muyu.cloud.background.domin.resp.ProductTotalListResp; +import com.muyu.cloud.background.mapper.ApiManageMapper; + +/** + * @Author:weiran + * @Package:com.muyu.cloud.background.service + * @Project:cloud-background + * @name:ApiManageService + * @Date:2024/8/30 9:33 + */ +public interface ApiManageService extends IService { + + + /** + * 查询全部商品接口 + * @param productListReq + * @return + */ + ProductTotalListResp selectList(ProductListReq productListReq); +} diff --git a/cloud-background-server/src/main/java/com/muyu/cloud/background/service/impl/ApiManageServiceImpl.java b/cloud-background-server/src/main/java/com/muyu/cloud/background/service/impl/ApiManageServiceImpl.java new file mode 100644 index 0000000..2225edb --- /dev/null +++ b/cloud-background-server/src/main/java/com/muyu/cloud/background/service/impl/ApiManageServiceImpl.java @@ -0,0 +1,52 @@ +package com.muyu.cloud.background.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.cloud.background.domin.Product; +import com.muyu.cloud.background.domin.req.ProductListReq; +import com.muyu.cloud.background.domin.resp.ProductListResp; +import com.muyu.cloud.background.domin.resp.ProductTotalListResp; +import com.muyu.cloud.background.mapper.ApiManageMapper; +import com.muyu.cloud.background.service.ApiManageService; +import com.muyu.common.core.utils.StringUtils; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @Author:weiran + * @Package:com.muyu.cloud.background.service.impl + * @Project:cloud-background + * @name:ApiManageServiceImpl + * @Date:2024/8/30 9:34 + */ +@Service +public class ApiManageServiceImpl extends ServiceImpl implements ApiManageService { + + /** + * 查询全部商品接口 + * @param productListReq + * @return + */ + @Override + public ProductTotalListResp selectList(ProductListReq productListReq) { + Integer pageNum = productListReq.getPageNum(); + Integer pageSize = productListReq.getPageSize(); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(StringUtils.isNotEmpty(productListReq.getProductName()), + Product::getProductName,productListReq.getProductName()); + queryWrapper.eq(StringUtils.isNotEmpty(productListReq.getProductState()), + Product::getProductState,productListReq.getProductState()); + queryWrapper.eq(StringUtils.isNotEmpty(productListReq.getProductType()), + Product::getProductType,productListReq.getProductType()); + long count = this.count(queryWrapper); + queryWrapper.orderByDesc(Product::getProductSales); + queryWrapper.last("LIMIT " + ((pageNum - 1) * pageSize) + ", " + pageSize); + List productList = this.list(queryWrapper); + List productListResps = productList.stream() + .map(product -> ProductListResp.productListRespbuild(product)) + .toList(); + return ProductTotalListResp.of(productListResps, count); + + } +}