package com.panzhihua.applets.api; import java.util.Objects; import javax.annotation.Resource; import javax.validation.Valid; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import com.panzhihua.common.controller.BaseController; import com.panzhihua.common.model.dtos.community.PageComCvtBusinessAppletsDTO; import com.panzhihua.common.model.dtos.community.convenient.PageClassifyMerchantDTO; import com.panzhihua.common.model.dtos.community.convenient.PagePopularMerchantDTO; import com.panzhihua.common.model.dtos.community.convenient.PageSearchDTO; import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComCvtBusinessDetailVO; import com.panzhihua.common.model.vos.community.ComCvtBusinessVO; import com.panzhihua.common.model.vos.community.convenient.ConvenientMerchantVO; import com.panzhihua.common.model.vos.community.convenient.ConvenientProductLevelInfoVO; import com.panzhihua.common.model.vos.community.convenient.ConvenientProductVO; import com.panzhihua.common.model.vos.community.convenient.ConvenientServiceCategoryVO; import com.panzhihua.common.service.community.CommunityService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; /** * @description: 社区便民服务商家接口 * @author: Null * @date: 2021/3/11 13:26 */ @Slf4j @Api(tags = {"社区运营/便民服务"}) @RestController @RequestMapping("/convenient") public class CommunityConvenientApi extends BaseController { @Resource private CommunityService communityService; @Deprecated @ApiOperation(value = "分页查询便民服务商家", response = ComCvtBusinessVO.class) @PostMapping("/business/area/page") public R pageComCvtBusiness(@RequestBody PageComCvtBusinessAppletsDTO comCvtBusinessAppletsDTO) { LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin(); if (loginUserInfo != null) { comCvtBusinessAppletsDTO.setCommunityId(loginUserInfo.getCommunityId()); } return communityService.pageComCvtBusinessByServiceArea(comCvtBusinessAppletsDTO); } @Deprecated @ApiOperation(value = "查询便民服务商家详情", response = ComCvtBusinessDetailVO.class) @GetMapping("/business/get") public R getComCvtBusinessServeDetail(@RequestParam("id") Long id) { return communityService.getComCvtBusinessServeDetail(id); } @ApiOperation(value = "获取商家数量大于0的服务类型", response = ConvenientServiceCategoryVO.class) @GetMapping("/service-category/suitable") public R getSuitableServiceCategories(@RequestParam("communityId") Long communityId) { if (Objects.isNull(communityId)) { return R.fail("社区id不能为空"); } return communityService.getSuitableServiceCategories(communityId,this.getAreaCode()); } @ApiOperation(value = "分页获取热门商家", response = ConvenientMerchantVO.class) @PostMapping("/merchant/popular") public R getPopularMerchants(@RequestBody @Valid PagePopularMerchantDTO pagePopularMerchantDTO) { pagePopularMerchantDTO.setAreaCode(this.getAreaCode()); return communityService.getPopularMerchants(pagePopularMerchantDTO); } @ApiOperation(value = "分页获取服务类型下商家", response = ConvenientMerchantVO.class) @PostMapping("/merchant/classify") public R getClassifyMerchants(@RequestBody @Valid PageClassifyMerchantDTO pageClassifyMerchantDTO) { pageClassifyMerchantDTO.setAreaCode(this.getAreaCode()); return communityService.getClassifyMerchants(pageClassifyMerchantDTO); } @ApiOperation(value = "商家详情", response = ConvenientMerchantVO.class) @GetMapping("/merchant/detail") public R getMerchantDetail(@RequestParam("merchantId") Long merchantId) { return communityService.getMerchantDetail(merchantId); } @ApiOperation(value = "获取商家产品", response = ConvenientProductLevelInfoVO.class) @GetMapping("/product/list") public R getMerchantProduct(@RequestParam("merchantId") Long merchantId) { return communityService.getMerchantProduct(merchantId); } @ApiOperation(value = "获取产品详情", response = ConvenientProductVO.class) @GetMapping("/product/detail") public R getProductDetail(@RequestParam("productId") Long productId) { return communityService.getProductDetail(productId); } @ApiOperation(value = "商家分页搜索", response = ConvenientMerchantVO.class) @PostMapping("/merchant/search") public R pageSearchMerchant(@RequestBody @Valid PageSearchDTO pageSearchDTO) { return communityService.pageSearchMerchant(pageSearchDTO); } @ApiOperation(value = "商品分页搜索", response = ConvenientProductVO.class) @PostMapping("/product/search") public R pageSearchProduct(@RequestBody @Valid PageSearchDTO pageSearchDTO) { return communityService.pageSearchProduct(pageSearchDTO); } @ApiOperation(value = "增加商家咨询量") @GetMapping("/merchant/incr-consult") public R incrMerchantConsult(@RequestParam("merchantId") Long merchantId) { return communityService.consultMerchant(merchantId); } @ApiOperation(value = "增加商家浏览量") @GetMapping("/merchant/incr-view") public R incrMerchantView(@RequestParam("merchantId") Long merchantId) { return communityService.incrMerchantView(merchantId); } @ApiOperation(value = "增加产品浏览量") @GetMapping("/product/incr-view") public R incrProductView(@RequestParam("productId") Long productId) { return communityService.incrProductView(productId); } }