罗元桥
2021-09-24 09e41d546b030b47661877d4b8141c88584d7598
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ConvenientApi.java
@@ -5,14 +5,48 @@
import javax.annotation.Resource;
import javax.validation.Valid;
import org.springframework.web.bind.annotation.*;
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 org.springframework.web.bind.annotation.PutMapping;
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.model.dtos.community.*;
import com.panzhihua.common.model.dtos.community.ComCvtBusinessDTO;
import com.panzhihua.common.model.dtos.community.ComCvtCategoryDTO;
import com.panzhihua.common.model.dtos.community.ComCvtServeDTO;
import com.panzhihua.common.model.dtos.community.PageComCvtBusinessAppletsDTO;
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;
@@ -34,6 +68,18 @@
    @Resource
    private ComCvtServeService comCvtServeService;
    @Resource
    private ConvenientServiceCategoryService convenientServiceCategoryService;
    @Resource
    private ConvenientMerchantService convenientMerchantService;
    @Resource
    private ConvenientProductCategoryService convenientProductCategoryService;
    @Resource
    private ConvenientProductService convenientProductService;
    /**
     * 社区后台分页查询便民服务商家
@@ -260,4 +306,412 @@
        @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 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() {
        return convenientServiceCategoryService.getAllServiceCategories();
    }
    /**
     * 获取用户便民服务商家详情
     * @param account 商家绑定账号
     * @return
     */
    @GetMapping("/getUserMerchantInfoByAccount")
    public R<ConvenientMerchantVO> getUserMerchantInfoByAccount(@RequestParam("account") String account) {
        return convenientMerchantService.getUserMerchantInfoByAccount(account);
    }
    /**
     * 获取商便民服务商家信息
     * @param userId
     * @return
     */
    @GetMapping("/merchantInfo")
    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
     */
    @GetMapping("/product-category/all")
    public R getAllProductCategory() {
        return convenientProductCategoryService.getAllProductCategory();
    }
    /**
     * 获取该社区商家数量大于0的分类
     * @param communityId
     * @return
     */
    @GetMapping("/service-category/suitable")
    public R getSuitableServiceCategories(@RequestParam("communityId") Long communityId) {
        return convenientServiceCategoryService.getSuitableServiceCategories(communityId);
    }
    /**
     * 获取该社区下的热门商家
     * @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);
    }
}