mitao
2025-05-20 179c4d64313c9b7572778da4aaaf6c6584fe457d
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ShopFlowerApi.java
@@ -1,16 +1,27 @@
package com.panzhihua.applets.api;
import cn.hutool.core.util.StrUtil;
import com.panzhihua.applets.weixin.CheckService;
import com.panzhihua.common.controller.BaseController;
import com.panzhihua.common.model.dtos.community.convenient.ConvenientMerchantDTO;
import com.panzhihua.common.model.dtos.community.convenient.PageConvenientServiceCategoryDTO;
import com.panzhihua.common.model.dtos.shop.*;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.convenient.ConvenientElevatingPointOrderVO;
import com.panzhihua.common.model.vos.community.convenient.ConvenientElevatingPointVO;
import com.panzhihua.common.model.vos.community.convenient.ConvenientMerchantVO;
import com.panzhihua.common.model.vos.community.convenient.ConvenientServiceCategoryVO;
import com.panzhihua.common.model.vos.shop.*;
import com.panzhihua.common.service.community.CommunityService;
import com.panzhihua.common.validated.AddGroup;
import com.panzhihua.common.validated.PutGroup;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -23,21 +34,27 @@
@Slf4j
@RestController
@RequestMapping("/shopFlower/")
@Api(tags = {"商城服务"})
@Api(tags = {"花城商城服务"})
public class ShopFlowerApi extends BaseController {
    @Resource
    private CommunityService communityService;
    @Resource
    private CheckService checkService;
/*    @ApiOperation(value = "查询店铺详情", response = PageShopStoreVO.class)
    @PostMapping("shopstoredetail")
    public R shopStoreDetail(@RequestBody PageComShopStoreDTO comShopStoreDTO) {
        if (comShopStoreDTO == null || comShopStoreDTO.getStoreId() == null) {
            return R.fail("参数错误");
        }
        return communityService.shopStoreDetail(comShopStoreDTO);
    }*/
    @ApiOperation(value = "查询便民服务商家详情", response = ConvenientMerchantVO.class)
    @GetMapping("/merchant/getMerchantByUserId")
    public R getMerchant(@RequestParam("userId") Long userId) {
        return communityService.getMerchantByUserId(userId);
    }
    @ApiOperation(value = "编辑便民服务商家")
    @PutMapping("/merchant/put")
    public R putMerchant(@RequestBody @Validated(PutGroup.class) ConvenientMerchantDTO convenientMerchantDTO) {
        convenientMerchantDTO.setUpdatedBy(this.getUserId());
        return communityService.putMerchant(convenientMerchantDTO);
    }
    @ApiOperation(value = "分页查询商品列表", response = ComShopFlowerGoodsVO.class)
    @PostMapping("pageShopGoods")
@@ -46,10 +63,37 @@
    }
    @ApiOperation(value = "查询商品详情", response = ComShopFlowerGoodsVO.class)
    @PostMapping("shopGoodsDetail")
    @GetMapping("shopGoodsDetail")
    @ApiImplicitParam(name = "goodsId", value = "商品id", required = true)
    public R shopGoodsDetail(@RequestParam("goodsId") Long goodsId) {
        return communityService.shopFlowerGoodsDetail(goodsId);
    }
    @ApiOperation(value = "删除商品")
    @DeleteMapping("/goods/delete")
    public R deleteShopGoods(@RequestParam("goodsId") Long goodsId) {
        return communityService.deleteFlowerShopGoods(goodsId);
    }
    @ApiOperation(value = "商品上下架")
    @ApiImplicitParams({@ApiImplicitParam(name = "id", value = "商品Id"),
            @ApiImplicitParam(name = "status", value = "1.上架  2.下架 ")})
    @GetMapping("/goods/changeStatus")
    public R changeStatus(@RequestParam("id") Long id, @RequestParam("status") Integer status) {
        return communityService.changeFlowerStatus(id, status);
    }
    @ApiOperation(value = "编辑商品")
    @PostMapping("/goods/edit/{id}")
    public R editShopGoods(@PathVariable("id") Long id,
                           @RequestBody @Validated(AddGroup.class) AddShopFlowerGoodsVO addShopGoodsVO) {
        return communityService.editFlowerShopGoods(id, addShopGoodsVO);
    }
    @ApiOperation(value = "新增商品")
    @PostMapping("/goods/save")
    public R saveShopGoods(@RequestBody @Validated(AddGroup.class) AddShopFlowerGoodsVO addShopGoodsVO) {
        return communityService.saveFlowerShopGoods(addShopGoodsVO);
    }
    @ApiOperation(value = "查询用户收货地址列表", response = ComShopUserAddressVO.class)
@@ -86,7 +130,7 @@
    }
    @ApiOperation(value = "删除用户收货地址列表")
    @PostMapping("shopDelUserAddress")
    @DeleteMapping("shopDelUserAddress")
    @ApiImplicitParam(name = "addressId", value = "收货地址id", required = true)
    public R shopDelUserAddress(@RequestParam("addressId") Long addressId) {
        return communityService.shopFlowerDelUserAddress(addressId);
@@ -116,7 +160,7 @@
        return communityService.orderCreateFlower(orderCreateDTO);
    }
    @ApiOperation(value = "分页查询订单列表", response = ComShopOrderPageVO.class)
    @ApiOperation(value = "分页查询订单列表", response = ComShopFlowerOrderPageVO.class)
    @PostMapping("pageOrderList")
    public R pageOrderList(@RequestBody PageComFlowerOrderListDTO comOrderListDTO) {
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
@@ -127,11 +171,19 @@
        return communityService.pageOrderListFlower(comOrderListDTO);
    }
    @ApiOperation(value = "查询订单详情", response = ComShopOrderPageVO.class)
    @PostMapping("orderDetail")
    @ApiOperation(value = "查询订单详情", response = ComShopFlowerOrderPageVO.class)
    @GetMapping("orderDetail")
    @ApiImplicitParam(name = "orderId", value = "订单id", required = true)
    public R orderDetail(@RequestParam("orderId") Long orderId) {
        return communityService.orderDetail(orderId);
        return communityService.orderDetailFlower(orderId,null);
    }
    @ApiOperation(value = "自提点查询订单详情", response = ComShopFlowerOrderPageVO.class)
    @GetMapping("pointOrderDetail")
    @ApiImplicitParam(name = "orderId", value = "订单id", required = true)
    public R pointOrderDetail(@RequestParam("orderId") Long orderId) {
        String phone = this.getLoginUserInfo().getPhone();
        return communityService.orderDetailFlower(orderId,phone);
    }
    @ApiOperation(value = "取消订单")
@@ -145,10 +197,10 @@
    }
    @ApiOperation(value = "删除订单")
    @PostMapping("orderDelete")
    @DeleteMapping("orderDelete")
    @ApiImplicitParam(name = "orderId", value = "订单id", required = true)
    public R orderDelete(@RequestParam("orderId") Long orderId) {
        return communityService.orderDelete(orderId);
        return communityService.orderDeleteFlower(orderId);
    }
    @ApiOperation(value = "订单确认收货")
@@ -162,17 +214,6 @@
    }
/*    @ApiOperation(value = "统计当前用户订单", response = OrderStatisticsVO.class)
    @PostMapping("orderStatistics")
    public R orderStatistics() {
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        if (loginUserInfo == null) {
            return R.fail("请重新登陆");
        }
        return communityService.orderStatistics(loginUserInfo.getUserId());
    }*/
    @ApiOperation(value = "小程序微信调起支付")
    @PostMapping("wxpay")
    public R wxPay(@RequestBody OrderPayDTO orderPayDTO) {
@@ -181,7 +222,7 @@
            return R.fail("请重新登陆");
        }
        orderPayDTO.setOpenId(loginUserInfo.getOpenid());
        return communityService.wxPay(orderPayDTO);
        return communityService.wxPayFlower(orderPayDTO);
    }
    /**
@@ -190,70 +231,345 @@
     * @param merchantId
     * @return
     */
    @ApiOperation(value = "获取自提点")
    @ApiOperation(value = "获取自提点",response = ConvenientElevatingPointVO.class)
    @ApiImplicitParams({@ApiImplicitParam(name = "merchantId", value = "商家Id", required = true),
            @ApiImplicitParam(name = "lat", value = "经度", required = true), @ApiImplicitParam(name = "lng", value = "纬度", required = true)})
    @GetMapping("/point/findPointByMerchantId")
    public R findPointByMerchantId(@RequestParam("merchantId") Long merchantId, @RequestParam("lat") String lat, @RequestParam("lng") String lng) {
        return communityService.findPointByMerchantId(merchantId, lat, lng);
    }
    /**
     * 获取商家周围 n(km)的自提点数量
     *
     * @param distance
     * @return
     */
    @ApiOperation(value = "获取商家周围 n(km)的自提点数量")
    @ApiImplicitParams({@ApiImplicitParam(name = "distance", value = "距离", required = false),
            @ApiImplicitParam(name = "lat", value = "经度", required = true), @ApiImplicitParam(name = "lng", value = "纬度", required = true)})
    @GetMapping("/point/findPointNumByDistance")
    public R findPointNumByDistance(@RequestParam(value = "distance",required = false) Integer distance, @RequestParam("lat") String lat, @RequestParam("lng") String lng) {
        if (null == distance){
            return R.ok(0);
        }
        return communityService.findPointNumByDistance(distance, lat, lng);
    }
    /**
     * 保存评价
     *
     * @param comShopFlowerEvaluateDTO
     * @return
     */
    @ApiOperation(value = "保存评价")
    @PostMapping("/saveEvaluate")
    public R saveEvaluate(@RequestBody ComShopFlowerEvaluateDTO comShopFlowerEvaluateDTO){
    public R saveEvaluate(@RequestBody ComShopFlowerEvaluateDTO comShopFlowerEvaluateDTO) {
        String evaluateContent = comShopFlowerEvaluateDTO.getEvaluateContent();
        if (StrUtil.isNotBlank(evaluateContent)) {
            String result = checkService.checkMessageBy(evaluateContent, this.getLoginUserInfo().getOpenid(), this.getAppId());
            if (StrUtil.isNotBlank(result)) {
                return R.fail(501, "填写内容存在 " + result + " 违规信息");
            }
        }
        comShopFlowerEvaluateDTO.setUserId(this.getUserId());
        return communityService.saveEvaluate(comShopFlowerEvaluateDTO);
    }
    /**
     * 分页查询评价
     *
     * @param pageComShopFlowerEvaluateDTO
     * @return
     */
    @ApiOperation(value = "分页查询评价",response = ComShopFlowerEvaluateVO.class)
    @ApiOperation(value = "分页查询评价", response = ComShopFlowerEvaluateVO.class)
    @PostMapping("/pageEvaluate")
    public R pageEvaluate(@RequestBody PageComShopFlowerEvaluateDTO pageComShopFlowerEvaluateDTO){
    public R pageEvaluate(@RequestBody PageComShopFlowerEvaluateDTO pageComShopFlowerEvaluateDTO) {
        return communityService.pageEvaluate(pageComShopFlowerEvaluateDTO);
    }
    /**
     * 评价详情
     *
     * @param id
     * @return
     */
    @ApiOperation(value = "评价详情")
    @GetMapping("/detailEvaluate")
    public R detailEvaluate(@RequestParam("id") Long id){
    public R detailEvaluate(@RequestParam("id") Long id) {
        return communityService.detailEvaluate(id);
    }
    /**
     * 删除评价
     *
     * @param id
     * @return
     */
    @ApiOperation(value = "删除评价")
    @DeleteMapping("deleteEvaluate")
    public R deleteEvaluate(@RequestParam("id") Long id){
    public R deleteEvaluate(@RequestParam("id") Long id) {
        return communityService.deleteEvaluate(id);
    }
    /**
     * 取货码
     *
     * @param orderId
     * @return
     */
    @ApiOperation(value = "取货码")
    @GetMapping("getQRCode")
    @ApiImplicitParam(name = "orderId", value = "订单id", required = true)
    public R getQRCode(@RequestParam("orderId") Long orderId){
    public R getQRCode(@RequestParam("orderId") Long orderId) {
        return communityService.getQRCode(orderId);
    }
    /**
     * 保存配送单
     *
     * @param comShopFlowerOrderDeliveryDTO
     */
    @PostMapping("saveDelivery")
    @ApiOperation(value = "保存配送单")
    public R saveDelivery(@RequestBody ComShopFlowerOrderDeliveryDTO comShopFlowerOrderDeliveryDTO) {
        return communityService.saveDelivery(comShopFlowerOrderDeliveryDTO);
    }
    /**
     * 更新配送单
     *
     * @param comShopFlowerOrderDeliveryDTO
     */
    @PostMapping("updateDelivery")
    @ApiOperation(value = "更新配送单")
    public R updateDelivery(@RequestBody ComShopFlowerOrderDeliveryDTO comShopFlowerOrderDeliveryDTO) {
        return communityService.updateDelivery(comShopFlowerOrderDeliveryDTO);
    }
    /**
     * 已配送、已送达 分页查询
     *
     * @param pageComFlowerOrderDeliveryDTO
     * @return
     */
    @PostMapping("pageDelivery")
    @ApiOperation(value = "已配送、已送达 分页查询", response = ComShopFlowerOrderDeliveryVO.class)
    public R pageDelivery(@RequestBody PageComFlowerOrderDeliveryDTO pageComFlowerOrderDeliveryDTO) {
        return communityService.pageDelivery(pageComFlowerOrderDeliveryDTO);
    }
    /**
     * 未配送 分页查询
     *
     * @param pageComFlowerOrderDeliveryDTO
     * @return
     */
    @ApiOperation(value = "未配送 分页查询", response = ConvenientElevatingPointVO.class)
    @PostMapping("pageNoDelivery")
    public R pageNoDelivery(@RequestBody PageComFlowerOrderDeliveryDTO pageComFlowerOrderDeliveryDTO) {
        return communityService.pageNoDelivery(pageComFlowerOrderDeliveryDTO);
    }
    /**
     * 未配送-开始配送-订单列表
     *
     * @param pageComFlowerOrderListDTO
     * @return
     */
    @ApiOperation(value = "未配送-开始配送-订单列表", response = ConvenientElevatingPointOrderVO.class)
    @PostMapping("pageNoDeliveryOrderList")
    public R pageNoDeliveryOrderList(@RequestBody PageComFlowerOrderListDTO pageComFlowerOrderListDTO) {
        return communityService.pageNoDeliveryOrderList(pageComFlowerOrderListDTO);
    }
    /**
     * 根据商家id查询商家的订单
     *
     * @param pageComFlowerOrderListDTO
     * @return
     */
    @ApiOperation(value = "根据商家id分页查询商家的订单", response = ComShopFlowerOrderStoreListVO.class)
    @PostMapping("pageOrderByStoreId")
    public R pageOrderByStoreId(@RequestBody PageComFlowerOrderListDTO pageComFlowerOrderListDTO) {
        return communityService.pageOrderByStoreId(pageComFlowerOrderListDTO);
    }
    /**
     * 查询我的店铺各类统计数据
     *
     * @param storeId
     * @return
     */
    @ApiOperation(value = "查询我的店铺各类统计数据")
    @GetMapping("/selectCountByStoreId")
    public R selectCountByUserId(Long storeId) {
        return communityService.selectCountByUserId(storeId);
    }
    /**
     * 创建退款订单
     *
     * @param comShopFlowerRefundOrderDTO
     * @return
     */
    @PostMapping("createRefundOrder")
    @ApiOperation(value = "创建退款订单")
    public R createRefundOrder(@RequestBody ComShopFlowerRefundOrderDTO comShopFlowerRefundOrderDTO) {
        comShopFlowerRefundOrderDTO.setUserId(this.getUserId());
        return communityService.createRefundOrder(comShopFlowerRefundOrderDTO);
    }
    /**
     * 用户 分页查询退款订单
     *
     * @param pageComOrderRefundDTO
     * @return
     */
    @PostMapping("pageRefundOrder")
    @ApiOperation(value = "退款订单分页查询 用户", response = ComShopFlowerRefundOrderVO.class)
    public R pageRefundOrder(@RequestBody PageComOrderRefundDTO pageComOrderRefundDTO) {
        pageComOrderRefundDTO.setUserId(this.getUserId());
        return communityService.pageRefundOrder(pageComOrderRefundDTO);
    }
    /**
     * 商家 分页查询退款订单
     *
     * @param pageComOrderRefundDTO
     * @return
     */
    @PostMapping("pageRefundOrderStore")
    @ApiOperation(value = "退款订单分页查询 商家", response = ComShopFlowerRefundOrderVO.class)
    public R pageRefundOrderStore(@RequestBody PageComOrderRefundDTO pageComOrderRefundDTO) {
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        pageComOrderRefundDTO.setStoreId(loginUserInfo.getStoreIdId());
        return communityService.pageRefundOrder(pageComOrderRefundDTO);
    }
    /**
     * 修改退款订单
     *
     * @param comShopFlowerRefundOrderDTO
     * @return
     */
    @PostMapping("updateRefundOrder")
    @ApiOperation(value = "修改退款订单")
    public R updateRefundOrder(@RequestBody ComShopFlowerRefundOrderDTO comShopFlowerRefundOrderDTO) {
        return communityService.updateRefundOrder(comShopFlowerRefundOrderDTO);
    }
    /**
     * 商家后台-退款申请统计
     *
     * @param storeId
     * @return
     */
    @GetMapping("selectCountGroupStatus")
    @ApiOperation(value = "商家后台-退款申请统计")
    public R selectCountGroupStatus(Long storeId) {
        return communityService.selectCountGroupStatus(storeId);
    }
    @ApiOperation(value = "商品分类")
    @GetMapping("/goodsCategory/getAllGoodsCategories")
    public R getAllGoodsCategories() {
        return communityService.getAllGoodsCategories();
    }
    @ApiOperation(value = "分页查询便民服务分类", response = ConvenientServiceCategoryVO.class)
    @PostMapping("/service-category/page")
    public R pageServiceCategory(@RequestBody PageConvenientServiceCategoryDTO pageConvenientServiceCategoryDTO) {
        pageConvenientServiceCategoryDTO.setAreaCode(this.getAreaCode());
        return communityService.pageServiceCategory(pageConvenientServiceCategoryDTO);
    }
    /**
     * 新增商品浏览量
     *
     * @param goodsId
     * @return
     */
    @GetMapping("incrGoodsView")
    @ApiOperation(value = "新增商品浏览量")
    public R incrGoodsView(@RequestParam("goodsId") Long goodsId) {
        return communityService.incrGoodsView(goodsId);
    }
    @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 = "出入账分页", response = ComShopFlowerOrderPayVO.class)
    @PostMapping("pageOrderPay")
    public R pageOrderPay(@RequestBody PageComShopFlowerOrderPayDTO pageComShopFlowerOrderPayDTO) {
        return communityService.pageOrderPay(pageComShopFlowerOrderPayDTO);
    }
    /**
     * 获取商家的营业额和可结算金额
     * @param storeId
     * @return
     */
    @ApiOperation(value = "获取商家的营业额和可结算金额")
    @GetMapping("getQuota")
    public R getQuota(@RequestParam("storeId") Long storeId){
        return communityService.getQuota(storeId);
    }
    /**
     * 取消退款
     * @param id
     * @return
     */
    @ApiOperation(value = "取消退款")
    @GetMapping("refundOrderCancel")
    public R refundOrderCancel(@RequestParam("id") Long id){
        return communityService.refundOrderCancel(id);
    }
    /**
     * 退款订单详情
     * @param id
     * @return
     */
    @ApiOperation(value = "退款订单详情",response = ComShopFlowerRefundOrderVO.class)
    @GetMapping("refundOrderDetail")
    public R refundOrderDetail(Long id){
        return communityService.refundOrderDetail(id);
    }
    /**
     * 清点商品 确认送达详情
     * @param pageComFlowerOrderListDTO
     * @return
     */
    @PostMapping("pageOrderByDeliveryNo")
    @ApiOperation(value = "清点商品 确认送达详情",response = ComShopFlowerOrderDeliveryNoListVO.class)
    public R pageOrderByDeliveryNo(@RequestBody PageComFlowerOrderListDTO pageComFlowerOrderListDTO){
        return communityService.pageOrderByDeliveryNo(pageComFlowerOrderListDTO);
    }
    /**
     * 订单发货
     *
     * @param orderShipDTO 发货信息
     * @return 发货结果
     */
    @PostMapping("/shipOrderFlower")
    @ApiOperation(value = "订单发货")
    public R shipOrderFlower(@RequestBody ComShopOrderShipDTO orderShipDTO) {
        orderShipDTO.setOperUserAccount(this.getLoginUserInfo().getAccount());
        return communityService.shipOrderFlower(orderShipDTO);
    }
}