|  |  |  | 
|---|
|  |  |  | package com.panzhihua.service_community.api; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.time.Instant; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import javax.annotation.Resource; | 
|---|
|  |  |  | import javax.validation.Valid; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.panzhihua.common.model.dtos.community.convenient.ConvenientMerchantDTO; | 
|---|
|  |  |  | import com.panzhihua.common.model.dtos.community.convenient.DisableOrEnableConvenientMerchantDTO; | 
|---|
|  |  |  | import com.panzhihua.common.model.dtos.community.convenient.PageConvenientMerchantDTO; | 
|---|
|  |  |  | import com.panzhihua.common.model.dtos.community.convenient.PageConvenientServiceCategoryDTO; | 
|---|
|  |  |  | import com.panzhihua.common.model.dtos.community.convenient.ResetPasswordConvenientMerchantDTO; | 
|---|
|  |  |  | import com.panzhihua.common.model.vos.community.convenient.ConvenientMerchantVO; | 
|---|
|  |  |  | import com.panzhihua.service_community.service.ConvenientMerchantService; | 
|---|
|  |  |  | import com.panzhihua.service_community.service.ConvenientServiceCategoryService; | 
|---|
|  |  |  | import com.panzhihua.common.model.dtos.community.convenient.ExportMerchantDTO; | 
|---|
|  |  |  | 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 org.springframework.web.bind.annotation.DeleteMapping; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.GetMapping; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.PostMapping; | 
|---|
|  |  |  | 
|---|
|  |  |  | import com.panzhihua.common.model.dtos.community.PageComCvtBusinessDTO; | 
|---|
|  |  |  | import com.panzhihua.common.model.dtos.community.PageComCvtCategoryDTO; | 
|---|
|  |  |  | import com.panzhihua.common.model.dtos.community.PageComCvtServeDTO; | 
|---|
|  |  |  | import com.panzhihua.common.model.dtos.community.convenient.ConvenientMerchantDTO; | 
|---|
|  |  |  | import com.panzhihua.common.model.dtos.community.convenient.ConvenientProductCategoryDTO; | 
|---|
|  |  |  | import com.panzhihua.common.model.dtos.community.convenient.ConvenientProductDTO; | 
|---|
|  |  |  | import com.panzhihua.common.model.dtos.community.convenient.ConvenientServiceCategoryDTO; | 
|---|
|  |  |  | import com.panzhihua.common.model.dtos.community.convenient.DeleteConvenientProductDTO; | 
|---|
|  |  |  | import com.panzhihua.common.model.dtos.community.convenient.DisableOrEnableConvenientMerchantDTO; | 
|---|
|  |  |  | import com.panzhihua.common.model.dtos.community.convenient.OnShelfOrOffShelfProductDTO; | 
|---|
|  |  |  | import com.panzhihua.common.model.dtos.community.convenient.PageConvenientMerchantDTO; | 
|---|
|  |  |  | import com.panzhihua.common.model.dtos.community.convenient.PageConvenientProductCategoryDTO; | 
|---|
|  |  |  | import com.panzhihua.common.model.dtos.community.convenient.PageConvenientProductDTO; | 
|---|
|  |  |  | import com.panzhihua.common.model.dtos.community.convenient.PageConvenientServiceCategoryDTO; | 
|---|
|  |  |  | import com.panzhihua.common.model.dtos.community.convenient.ResetPasswordConvenientMerchantDTO; | 
|---|
|  |  |  | import com.panzhihua.common.model.vos.R; | 
|---|
|  |  |  | import com.panzhihua.common.model.vos.community.ComCvtServeExcelVO; | 
|---|
|  |  |  | import com.panzhihua.common.model.vos.community.convenient.ConvenientMerchantVO; | 
|---|
|  |  |  | import com.panzhihua.service_community.service.ComCvtBusinessService; | 
|---|
|  |  |  | import com.panzhihua.service_community.service.ComCvtCategoryService; | 
|---|
|  |  |  | import com.panzhihua.service_community.service.ComCvtServeService; | 
|---|
|  |  |  | import com.panzhihua.service_community.service.ConvenientMerchantService; | 
|---|
|  |  |  | import com.panzhihua.service_community.service.ConvenientProductCategoryService; | 
|---|
|  |  |  | import com.panzhihua.service_community.service.ConvenientProductService; | 
|---|
|  |  |  | import com.panzhihua.service_community.service.ConvenientServiceCategoryService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import lombok.extern.slf4j.Slf4j; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private ConvenientMerchantService convenientMerchantService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private ConvenientProductCategoryService convenientProductCategoryService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private ConvenientProductService convenientProductService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 社区后台分页查询便民服务商家 | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 分页查询便民服务商家 | 
|---|
|  |  |  | * 分页查询便民服务商家 运营后台 | 
|---|
|  |  |  | * @param pageConvenientMerchantDTO | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @GetMapping("/service-category/all") | 
|---|
|  |  |  | public R getAllServiceCategories() { | 
|---|
|  |  |  | return convenientServiceCategoryService.getAllServiceCategories(); | 
|---|
|  |  |  | public R getAllServiceCategories(@RequestParam("areaCode") String areaCode) { | 
|---|
|  |  |  | return convenientServiceCategoryService.getAllServiceCategories(areaCode); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | 
|---|
|  |  |  | public R<ConvenientMerchantVO> getUserConvenientMerchantInfo(@RequestParam("userId") Long userId) { | 
|---|
|  |  |  | return convenientMerchantService.getUserConvenientMerchantInfo(userId); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 新增便民服务产品分类信息 | 
|---|
|  |  |  | * @param convenientProductCategoryDTO | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @PostMapping("/product-category/add") | 
|---|
|  |  |  | public R addProductCategory(@RequestBody ConvenientProductCategoryDTO convenientProductCategoryDTO) { | 
|---|
|  |  |  | return convenientProductCategoryService.addProductCategory(convenientProductCategoryDTO); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 编辑便民服务产品分类信息 | 
|---|
|  |  |  | * @param convenientProductCategoryDTO | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @PutMapping("/product-category/put") | 
|---|
|  |  |  | public R putProductCategory(@RequestBody ConvenientProductCategoryDTO convenientProductCategoryDTO) { | 
|---|
|  |  |  | return convenientProductCategoryService.putProductCategory(convenientProductCategoryDTO); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 删除便民服务产品分类信息 | 
|---|
|  |  |  | * @param categoryId | 
|---|
|  |  |  | * @param operator | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @DeleteMapping("/product-category/delete") | 
|---|
|  |  |  | public R deleteProductCategory(@RequestParam("categoryId") Long categoryId, @RequestParam("operator") Long operator) { | 
|---|
|  |  |  | return convenientProductCategoryService.deleteProductCategory(categoryId, operator); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 获取便民服务产品分类详情 | 
|---|
|  |  |  | * @param categoryId | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @GetMapping("/product-category/get") | 
|---|
|  |  |  | public R getProductCategory(@RequestParam("categoryId") Long categoryId) { | 
|---|
|  |  |  | return convenientProductCategoryService.getProductCategory(categoryId); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 分页查询便民服务产品分类信息 | 
|---|
|  |  |  | * @param pageConvenientProductCategoryDTO | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @PostMapping("/product-category/page") | 
|---|
|  |  |  | public R pageProductCategory(@RequestBody PageConvenientProductCategoryDTO pageConvenientProductCategoryDTO) { | 
|---|
|  |  |  | return convenientProductCategoryService.pageProductCategory(pageConvenientProductCategoryDTO); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 便民服务商家后台新增产品 | 
|---|
|  |  |  | * @param convenientProductDTO | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @PostMapping("/product/add") | 
|---|
|  |  |  | public R addProduct(@RequestBody ConvenientProductDTO convenientProductDTO) { | 
|---|
|  |  |  | return convenientProductService.addProduct(convenientProductDTO); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 便民服务商家后台编辑产品 | 
|---|
|  |  |  | * @param convenientProductDTO | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @PutMapping("/product/put") | 
|---|
|  |  |  | public R putProduct(@RequestBody ConvenientProductDTO convenientProductDTO) { | 
|---|
|  |  |  | return convenientProductService.putProduct(convenientProductDTO); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 便民服务商家后台获取产品详情 | 
|---|
|  |  |  | * @param productId | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @GetMapping("/product/get") | 
|---|
|  |  |  | public R getProduct(@RequestParam("productId") Long productId) { | 
|---|
|  |  |  | return convenientProductService.getProduct(productId); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 便民服务商家后台分页获取产品信息 | 
|---|
|  |  |  | * @param pageConvenientProductDTO | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @PostMapping("/product/page") | 
|---|
|  |  |  | public R pageProduct(@RequestBody PageConvenientProductDTO pageConvenientProductDTO) { | 
|---|
|  |  |  | return convenientProductService.pageProduct(pageConvenientProductDTO); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 便民服务商家后台删除产品信息 | 
|---|
|  |  |  | * @param deleteConvenientProductDTO | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @DeleteMapping("/product/delete") | 
|---|
|  |  |  | public R deleteProduct(@RequestBody DeleteConvenientProductDTO deleteConvenientProductDTO) { | 
|---|
|  |  |  | return convenientProductService.deleteProduct(deleteConvenientProductDTO); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 便民服务商家后台上架/下架产品 | 
|---|
|  |  |  | * @param onShelfOrOffShelfProductDTO | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @PutMapping("/product/onShelf-or-offShelf") | 
|---|
|  |  |  | public R onShelfOrOffShelfProduct(@RequestBody OnShelfOrOffShelfProductDTO onShelfOrOffShelfProductDTO) { | 
|---|
|  |  |  | return convenientProductService.onShelfOrOffShelfProduct(onShelfOrOffShelfProductDTO); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 获取所有产品分类 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | * @param merchantId | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @GetMapping("/product-category/all") | 
|---|
|  |  |  | public R getAllProductCategory(@RequestParam("merchantId") Long merchantId) { | 
|---|
|  |  |  | return convenientProductCategoryService.getAllProductCategory(merchantId); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 获取该社区商家数量大于0的分类 | 
|---|
|  |  |  | * @param communityId | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @GetMapping("/service-category/suitable") | 
|---|
|  |  |  | public R getSuitableServiceCategories(@RequestParam("communityId") Long communityId,@RequestParam("areaCode")String areaCode) { | 
|---|
|  |  |  | return convenientServiceCategoryService.getSuitableServiceCategories(communityId,areaCode); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 获取该社区下的热门商家 | 
|---|
|  |  |  | * @param pagePopularMerchantDTO | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @PostMapping("/merchant/popular") | 
|---|
|  |  |  | public R getPopularMerchants(@RequestBody PagePopularMerchantDTO pagePopularMerchantDTO) { | 
|---|
|  |  |  | return convenientMerchantService.getPopularMerchants(pagePopularMerchantDTO); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 分页获取服务类型下商家信息 | 
|---|
|  |  |  | * @param pageClassifyMerchantDTO | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @PostMapping("/merchant/classify") | 
|---|
|  |  |  | public R getClassifyMerchants(@RequestBody PageClassifyMerchantDTO pageClassifyMerchantDTO) { | 
|---|
|  |  |  | return convenientMerchantService.getClassifyMerchants(pageClassifyMerchantDTO); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 小程序获取商家详情 | 
|---|
|  |  |  | * @param merchantId | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @GetMapping("/merchant/detail") | 
|---|
|  |  |  | public R getMerchantDetail(@RequestParam("merchantId") Long merchantId) { | 
|---|
|  |  |  | return convenientMerchantService.getMerchantDetail(merchantId); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 小程序获取商家产品 | 
|---|
|  |  |  | * @param merchantId | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @GetMapping("/product/list") | 
|---|
|  |  |  | public R getMerchantProduct(@RequestParam("merchantId") Long merchantId) { | 
|---|
|  |  |  | return convenientProductService.getMerchantProduct(merchantId); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 获取产品详情 | 
|---|
|  |  |  | * @param productId | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @GetMapping("/product/detail") | 
|---|
|  |  |  | public R getProductDetail(@RequestParam("productId") Long productId) { | 
|---|
|  |  |  | return convenientProductService.getProduct(productId); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 搜索商家信息 | 
|---|
|  |  |  | * @param pageSearchDTO | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @PostMapping("/merchant/search") | 
|---|
|  |  |  | public R pageSearchMerchant(@RequestBody PageSearchDTO pageSearchDTO) { | 
|---|
|  |  |  | return convenientMerchantService.pageSearchMerchant(pageSearchDTO); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 搜索商品信息 | 
|---|
|  |  |  | * @param pageSearchDTO | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @PostMapping("/product/search") | 
|---|
|  |  |  | public R pageSearchProduct(@RequestBody PageSearchDTO pageSearchDTO) { | 
|---|
|  |  |  | return convenientProductService.pageSearchProduct(pageSearchDTO); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 增加商家店铺咨询量 | 
|---|
|  |  |  | * @param merchantId | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @GetMapping("/merchant/consult") | 
|---|
|  |  |  | public R consultMerchant(@RequestParam("merchantId") Long merchantId) { | 
|---|
|  |  |  | return convenientMerchantService.consultMerchant(merchantId); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 增加商家店铺浏览量 | 
|---|
|  |  |  | * @param merchantId | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @GetMapping("/merchant/incr-view") | 
|---|
|  |  |  | public R incrMerchantView(@RequestParam("merchantId") Long merchantId) { | 
|---|
|  |  |  | return convenientMerchantService.incrMerchantView(merchantId); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 增加产品浏览量 | 
|---|
|  |  |  | * @param productId | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @GetMapping("/product/incr-view") | 
|---|
|  |  |  | public R incrProductView(@RequestParam("productId") Long productId) { | 
|---|
|  |  |  | return convenientProductService.incrProductView(productId); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 获取商家导出数据 | 
|---|
|  |  |  | * @param exportMerchantDTO | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @PostMapping("/merchant/export") | 
|---|
|  |  |  | public R exportMerchant(@RequestBody ExportMerchantDTO exportMerchantDTO) { | 
|---|
|  |  |  | return convenientMerchantService.exportMerchant(exportMerchantDTO); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 定时任务每隔半小时将商家浏览量和咨询量总值计入指定商家数据中 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @PostMapping("/timedTaskWriteDataToMerchantJobHandler") | 
|---|
|  |  |  | public R timedTaskWriteDataToMerchantJobHandler() { | 
|---|
|  |  |  | return convenientMerchantService.timedTaskWriteDataToMerchantJobHandler(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 获取商家上下架产品数量 | 
|---|
|  |  |  | * @param merchantId | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @GetMapping("/product/shelf-num") | 
|---|
|  |  |  | public R getProductShelfNum(@RequestParam("merchantId") Long merchantId) { | 
|---|
|  |  |  | return convenientProductService.getProductShelfNum(merchantId); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|