123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- package com.example.xiaoshiweixinback.controller;
- import com.example.xiaoshiweixinback.business.common.Constants;
- import com.example.xiaoshiweixinback.business.common.Response;
- import com.example.xiaoshiweixinback.business.common.base.Records;
- import com.example.xiaoshiweixinback.business.exception.BusinessException;
- import com.example.xiaoshiweixinback.checkLogin.checkLogin;
- import com.example.xiaoshiweixinback.domain.AssoPersonProduct;
- import com.example.xiaoshiweixinback.entity.dto.AssoPersonProductDTO;
- import com.example.xiaoshiweixinback.entity.product.ProductAddDTO;
- import com.example.xiaoshiweixinback.entity.product.ProductDTO;
- import com.example.xiaoshiweixinback.service.AssoPersonProductService;
- import com.example.xiaoshiweixinback.service.ProductService;
- import io.swagger.v3.oas.annotations.Operation;
- import io.swagger.v3.oas.models.security.SecurityScheme;
- import lombok.RequiredArgsConstructor;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.web.bind.annotation.*;
- @Slf4j
- @RequestMapping(Constants.XIAOSHI_WEIXINBACK + "/product")
- @RestController
- @RequiredArgsConstructor
- public class ProductController {
- private final ProductService productService;
- private final AssoPersonProductService assoPersonProductService;
- @Operation(summary = "查询爆款产品")
- @PostMapping("/queryHotProduct")
- public Response queryHotProduct(@RequestBody ProductDTO productDTO) {
- Records records = productService.queryHotProduct(productDTO);
- return Response.success(records);
- }
- @Operation(summary = "添加或更新产品")
- @PostMapping("/addOrUpdateProduct")
- public Response addOrUpdateProduct(@RequestBody ProductAddDTO productAddDTO) {
- Records records = new Records();
- try {
- Integer id = productService.addOrUpdateProduct(productAddDTO);
- records.setData(id);
- }
- catch (BusinessException e){
- return Response.error(e.getErrorCode(),e.getMessage());
- }
- return Response.success(records);
- }
- @checkLogin
- @Operation(summary = "关注产品")
- @PostMapping("/follow")
- public Response follow(@RequestBody AssoPersonProductDTO assoPersonProductDTO){
- Records records = new Records();
- Integer id = assoPersonProductService.add(assoPersonProductDTO);
- if(id ==null){
- return Response.noPermissions("已超过可关注数量");
- }
- if(id.equals(-2)){
- return Response.noPermissions("无关注产品的权益");
- }
- records.setData(id);
- return Response.success(records);
- }
- @Operation(summary = "取消关注产品")
- @GetMapping("/unFollow")
- public Response unFollow(Integer productId){
- Records records = new Records();
- Integer id = assoPersonProductService.cancel(productId);
- if (id.equals(-1)) {
- return Response.error("取消失败");
- } else if (id.equals(0)) {
- return Response.error("没有权限");
- }
- records.setData(id);
- return Response.success(records);
- }
- @checkLogin
- @Operation(summary = "查询关注的产品")
- @PostMapping("/queryConcernProduct")
- public Response queryConcernProduct(@RequestBody ProductDTO productDTO) {
- Records records = productService.queryConcernProduct(productDTO);
- return Response.success(records);
- }
- }
|