package com.panzhihua.service_community.api; import com.panzhihua.common.model.dtos.community.*; import com.panzhihua.common.model.dtos.community.convenient.*; 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.*; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; /** * @description: 便民服务接口 * @author: Null * @date: 2021/3/11 13:19 */ @Slf4j @RestController @RequestMapping("/convenient") public class ConvenientApi { @Resource private ComCvtBusinessService comCvtBusinessService; @Resource private ComCvtCategoryService comCvtCategoryService; @Resource private ComCvtServeService comCvtServeService; @Resource private ConvenientServiceCategoryService convenientServiceCategoryService; @Resource private ConvenientMerchantService convenientMerchantService; @Resource private ConvenientProductCategoryService convenientProductCategoryService; @Resource private ConvenientProductService convenientProductService; @Resource private ConvenientElevatingPointService convenientElevatingPointService; @Resource private ConvenientGoodsCategoryService convenientGoodsCategoryService; /** * 社区后台分页查询便民服务商家 * * @param pageComCvtBusinessDTO 查询参数 * @return 返回结果 */ @PostMapping("/business/page") public R pageComCvtBusiness(@RequestBody PageComCvtBusinessDTO pageComCvtBusinessDTO) { return comCvtBusinessService.pageComCvtBusiness(pageComCvtBusinessDTO); } /** * 小程序通过便民服务区域分页查询便民服务商家 * * @param comCvtBusinessAppletsDTO 查询参数 * @return 返回结果 */ @PostMapping("/business/area/page") public R pageComCvtBusinessByServiceArea(@RequestBody PageComCvtBusinessAppletsDTO comCvtBusinessAppletsDTO) { return comCvtBusinessService.pageComCvtBusinessByServiceArea(comCvtBusinessAppletsDTO); } /** * 新增便民服务商家 * * @param comCvtBusinessDTO 商家参数 * @return 返回结果 */ @PostMapping("/business/add") public R addComCvtBusiness(@RequestBody ComCvtBusinessDTO comCvtBusinessDTO) { return comCvtBusinessService.addComCvtBusiness(comCvtBusinessDTO); } /** * 编辑便民服务商家 * * @param comCvtBusinessDTO 商家参数 * @return 返回结果 */ @PutMapping("/business/put") public R putComCvtBusiness(@RequestBody ComCvtBusinessDTO comCvtBusinessDTO) { return comCvtBusinessService.putComCvtBusiness(comCvtBusinessDTO); } /** * 查询便民服务商家详情 * * @param id 商家主键 * @return 返回结果 */ @GetMapping("/business/get") public R getComCvtBusiness(@RequestParam("id") Long id) { return comCvtBusinessService.getComCvtBusiness(id); } /** * 删除便民服务商家信息 * * @param id 商家主键 * @return 返回结果 */ @DeleteMapping("/business/delete") public R deleteComCvtBusiness(@RequestParam("id") Long id) { return comCvtBusinessService.deleteComCvtBusiness(id); } /** * 社区后台分页查询便民服务分类 * * @param pageComCvtCategoryDTO 查询参数 * @return 返回结果 */ @PostMapping("/category/page") public R pageComCvtCategory(@RequestBody PageComCvtCategoryDTO pageComCvtCategoryDTO) { return comCvtCategoryService.pageComCvtCategory(pageComCvtCategoryDTO); } /** * 便民服务分类下拉,所有分类 * * @return 返回结果 */ @PostMapping("/category/all") public R allComCvtCategory() { return comCvtCategoryService.allComCvtCategory(); } /** * 新增便民服务分类 * * @param comCvtCategoryDTO 分类参数 * @return 返回结果 */ @PostMapping("/category/add") public R addComCvtCategory(@Valid @RequestBody ComCvtCategoryDTO comCvtCategoryDTO) { return comCvtCategoryService.addComCvtCategory(comCvtCategoryDTO); } /** * 编辑便民服务分类 * * @param comCvtCategoryDTO 分类参数 * @return 返回结果 */ @PutMapping("/category/put") public R putComCvtCategory(@RequestBody ComCvtCategoryDTO comCvtCategoryDTO) { return comCvtCategoryService.putComCvtCategory(comCvtCategoryDTO); } /** * 查询便民服务分类详情 * * @param id 分类主键 * @return 返回结果 */ @GetMapping("/category/get") public R getComCvtCategory(@RequestParam("id") Long id) { return comCvtCategoryService.getComCvtCategory(id); } /** * 删除便民服务分类信息 * * @param id 分类主键 * @return 返回结果 */ @DeleteMapping("/category/delete") public R deleteComCvtCategory(@RequestParam("id") Long id) { return comCvtCategoryService.deleteComCvtCategory(id); } /** * 社区后台分页查询便民服务 * * @param pageComCvtServeDTO 查询参数 * @return 返回结果 */ @PostMapping("/serve/page") public R pageComCvtServe(@RequestBody PageComCvtServeDTO pageComCvtServeDTO) { return comCvtServeService.pageComCvtServe(pageComCvtServeDTO); } /** * 新增便民服务 * * @param comCvtServeDTO 参数 * @return 返回结果 */ @PostMapping("/serve/add") public R addComCvtServe(@RequestBody ComCvtServeDTO comCvtServeDTO) { return comCvtServeService.addComCvtServe(comCvtServeDTO); } /** * 编辑便民服务 * * @param comCvtServeDTO 分类参数 * @return 返回结果 */ @PutMapping("/serve/put") public R putComCvtServe(@RequestBody ComCvtServeDTO comCvtServeDTO) { return comCvtServeService.putComCvtServe(comCvtServeDTO); } /** * 查询便民服务详情 * * @param id 服务主键 * @return 返回结果 */ @GetMapping("/serve/get") public R getComCvtServe(@RequestParam("id") Long id) { return comCvtServeService.getComCvtServe(id); } /** * 删除便民服务信息 * * @param id 服务主键 * @return 返回结果 */ @DeleteMapping("/serve/delete") public R deleteComCvtServe(@RequestParam("id") Long id) { return comCvtServeService.deleteComCvtServe(id); } /** * 小程序便民服务商家详情 * * @param id 商家ID * @return */ @GetMapping("/business/serve/get") public R getComCvtBusinessServeDetail(@RequestParam("id") Long id) { return comCvtBusinessService.getComCvtBusinessServeDetail(id); } /** * 批量新增商家服务 * * @param list 服务集合 */ @PostMapping("/serve/import") public R listSaveConvenientServeExcelVO(@RequestBody List list, @RequestParam(value = "communityId", required = false) Long communityId) { return comCvtServeService.listSaveConvenientServeExcelVO(list, communityId); } /** * 便民服务新增分类 * * @param convenientServiceCategoryDTO * @return */ @PostMapping("/service-category/add") public R addServiceCategory(@RequestBody ConvenientServiceCategoryDTO convenientServiceCategoryDTO) { return convenientServiceCategoryService.addServiceCategory(convenientServiceCategoryDTO); } /** * 便民服务分类编辑 * * @param convenientServiceCategoryDTO * @return */ @PutMapping("/service-category/put") public R putServiceCategory(@RequestBody ConvenientServiceCategoryDTO convenientServiceCategoryDTO) { return convenientServiceCategoryService.putServiceCategory(convenientServiceCategoryDTO); } /** * 便民服务分类删除 * * @param categoryId * @return */ @DeleteMapping("/service-category/delete") public R deleteServiceCategory(@RequestParam("categoryId") Long categoryId, @RequestParam("operator") Long operator) { return convenientServiceCategoryService.deleteServiceCategoryById(categoryId, operator); } /** * 获取便民服务分类详情 * * @param categoryId * @return */ @GetMapping("/service-category/get") public R getServiceCategory(@RequestParam("categoryId") Long categoryId) { return convenientServiceCategoryService.getServiceCategoryById(categoryId); } /** * 分页查询便民服务分类 * * @param pageConvenientServiceCategoryDTO * @return */ @PostMapping("/service-category/page") public R pageServiceCategory(@RequestBody PageConvenientServiceCategoryDTO pageConvenientServiceCategoryDTO) { return convenientServiceCategoryService.pageServiceCategory(pageConvenientServiceCategoryDTO); } /** * 便民服务新增商家 * * @param convenientMerchantDTO * @return */ @PostMapping("/merchant/add") public R addMerchant(@RequestBody ConvenientMerchantDTO convenientMerchantDTO) { return convenientMerchantService.addMerchant(convenientMerchantDTO); } /** * 编辑便民服务商家 * * @param convenientMerchantDTO * @return */ @PutMapping("/merchant/put") public R putMerchant(@RequestBody ConvenientMerchantDTO convenientMerchantDTO) { return convenientMerchantService.putMerchant(convenientMerchantDTO); } /** * 删除便民服务商家 * * @param merchantId * @return */ @DeleteMapping("/merchant/delete") public R deleteMerchant(@RequestParam("merchantId") Long merchantId, @RequestParam("operator") Long operator) { return convenientMerchantService.deleteMerchant(merchantId, operator); } /** * 分页查询便民服务商家 运营后台 * * @param pageConvenientMerchantDTO * @return */ @PostMapping("/merchant/page") public R pageMerchant(@RequestBody PageConvenientMerchantDTO pageConvenientMerchantDTO) { return convenientMerchantService.pageMerchant(pageConvenientMerchantDTO); } /** * 获取便民服务商家详情 * * @param merchantId * @return */ @GetMapping("/merchant/get") public R getMerchant(@RequestParam("merchantId") Long merchantId) { return convenientMerchantService.getMerchant(merchantId); } /** * 获取便民服务商家详情 * * @param userId * @return */ @GetMapping("/merchant/getMerchantByUserId") public R getMerchantByUserId(@RequestParam("userId") Long userId) { return convenientMerchantService.getMerchantByUserId(userId); } /** * 禁用/启用便民服务商家 * * @param disableOrEnableConvenientMerchantDTO * @return */ @PutMapping("/merchant/disable-or-enable") public R disableOrEnableMerchant(@RequestBody DisableOrEnableConvenientMerchantDTO disableOrEnableConvenientMerchantDTO) { return convenientMerchantService.disableOrEnableMerchant(disableOrEnableConvenientMerchantDTO); } /** * 重置便民服务商家账号密码 * * @param resetPasswordConvenientMerchantDTO * @return */ @PutMapping("/merchant/reset-password") public R resetPasswordMerchant(@RequestBody ResetPasswordConvenientMerchantDTO resetPasswordConvenientMerchantDTO) { return convenientMerchantService.resetPasswordMerchant(resetPasswordConvenientMerchantDTO); } /** * 获取所有便民服务分类 * * @return */ @GetMapping("/service-category/all") public R getAllServiceCategories(@RequestParam("areaCode") String areaCode) { return convenientServiceCategoryService.getAllServiceCategories(areaCode); } /** * 获取用户便民服务商家详情 * * @param account 商家绑定账号 * @return */ @GetMapping("/getUserMerchantInfoByAccount") public R getUserMerchantInfoByAccount(@RequestParam("account") String account) { return convenientMerchantService.getUserMerchantInfoByAccount(account); } /** * 获取用户便民服务商家详情 * * @param account 商家绑定账号 * @return */ @GetMapping("/getMerchantInfoByAccount") public R getMerchantInfoByAccount(@RequestParam("account") String account) { return convenientMerchantService.getMerchantInfoByAccount(account); } /** * 获取商便民服务商家信息 * * @param userId * @return */ @GetMapping("/merchantInfo") public R 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); } /** * 获取所有产品分类 * * @param merchantId * @return */ @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); } /** * 分页查询自提点 运营后台 * * @param pageConvenientElevatingPointDTO * @return */ @PostMapping("/point/page") public R pagePoint(@RequestBody PageConvenientElevatingPointDTO pageConvenientElevatingPointDTO) { return convenientElevatingPointService.pagePoint(pageConvenientElevatingPointDTO); } /** * 便民服务新增 自提点 * * @param convenientElevatingPointDTO * @return */ @PostMapping("/point/add") public R addPoint(@RequestBody ConvenientElevatingPointDTO convenientElevatingPointDTO) { return convenientElevatingPointService.addPoint(convenientElevatingPointDTO); } /** * 编辑便民服务 自提点 * * @param convenientElevatingPointDTO * @return */ @PutMapping("/point/put") public R putPoint(@RequestBody ConvenientElevatingPointDTO convenientElevatingPointDTO) { return convenientElevatingPointService.putPoint(convenientElevatingPointDTO); } /** * 删除便民服务 自提点 * * @param pointId * @param operator * @return */ @DeleteMapping("/point/delete") public R deletePoint(@RequestParam("pointId") Long pointId, @RequestParam("operator") Long operator) { return convenientElevatingPointService.deletePoint(pointId, operator); } /** * 便民服务详情 自提点 * * @param pointId * @return */ @GetMapping("/point/detail") public R detailPoint(@RequestParam("pointId") Long pointId) { return convenientElevatingPointService.detailPoint(pointId); } /** * 新增商品分类 * * @param convenientGoodsCategoryDTO * @return */ @PostMapping("/goodsCategory/add") public R addGoodsCategory(@RequestBody ConvenientGoodsCategoryDTO convenientGoodsCategoryDTO) { return convenientGoodsCategoryService.addGoodsCategory(convenientGoodsCategoryDTO); } /** * 编辑 * * @param convenientGoodsCategoryDTO * @return */ @PutMapping("/goodsCategory/put") public R putGoodsCategory(@RequestBody ConvenientGoodsCategoryDTO convenientGoodsCategoryDTO) { return convenientGoodsCategoryService.putGoodsCategory(convenientGoodsCategoryDTO); } /** * 删除商品分类 * * @param categoryId * @return */ @DeleteMapping("/goodsCategory/delete") public R deleteGoodsCategory(@RequestParam("categoryId") Long categoryId, @RequestParam("operator") Long operator) { return convenientGoodsCategoryService.deleteGoodsCategoryById(categoryId, operator); } /** * 获取商品分类详情 * * @param categoryId * @return */ @GetMapping("/goodsCategory/get") public R getGoodsCategory(@RequestParam("categoryId") Long categoryId) { return convenientGoodsCategoryService.getGoodsCategoryById(categoryId); } /** * 分页查询商品分类 * * @param pageConvenientGoodsCategoryDTO * @return */ @PostMapping("/goodsCategory/page") public R pageGoodsCategory(@RequestBody PageConvenientGoodsCategoryDTO pageConvenientGoodsCategoryDTO) { return convenientGoodsCategoryService.pageGoodsCategory(pageConvenientGoodsCategoryDTO); } /** * 获取所有商品分类 * * @return */ @GetMapping("/goodsCategory/getAllGoodsCategories") public R getAllGoodsCategories() { return convenientGoodsCategoryService.getAllGoodsCategories(); } /** * 获取当前商铺周围的自提点信息以及距离手机距离 * * @param merchantId * @return */ @GetMapping("/point/findPointByMerchantId") public R findPointByMerchantId(@RequestParam("merchantId") Long merchantId, @RequestParam("lat") String lat, @RequestParam("lng") String lng) { return convenientElevatingPointService.findPointByMerchantId(merchantId, lat, lng); } /** * 获取商家周围 n(km)的自提点数量 * * @param distance * @return */ @GetMapping("/point/findPointNumByDistance") public R findPointNumByDistance(@RequestParam("distance") Integer distance, @RequestParam("lat") String lat, @RequestParam("lng") String lng) { return convenientElevatingPointService.findPointNumByDistance(distance, lat, lng); } }