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;
|
|
/**
|
* @auther yh
|
* @create 2022-11-08 17:25:45
|
* @describe 商城模块API
|
*/
|
@Slf4j
|
@RestController
|
@RequestMapping("/shopFlower/")
|
@Api(tags = {"花城商城服务"})
|
public class ShopFlowerApi extends BaseController {
|
|
@Resource
|
private CommunityService communityService;
|
@Resource
|
private CheckService checkService;
|
|
|
@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")
|
public R pageShopGoods(@RequestBody ComShopFlowerGoodsDTO comShopGoodsDTO) {
|
return communityService.pageShopFlowerGoodsByApp(comShopGoodsDTO);
|
}
|
|
@ApiOperation(value = "查询商品详情", response = ComShopFlowerGoodsVO.class)
|
@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)
|
@PostMapping("shopUserAddressList")
|
public R shopUserAddressList(@RequestBody PageComShopAddressDTO comShopAddressDTO) {
|
Long userId = this.getUserId();
|
if (userId == null) {
|
return R.fail("请重新登陆");
|
}
|
comShopAddressDTO.setUserId(userId);
|
return communityService.shopFlowerUserAddressList(comShopAddressDTO);
|
}
|
|
@ApiOperation(value = "添加用户收货地址列表")
|
@PostMapping("shopAddUserAddress")
|
public R shopAddUserAddress(@RequestBody ComShopAddressDTO comShopAddressDTO) {
|
Long userId = this.getUserId();
|
if (userId == null) {
|
return R.fail("请重新登陆");
|
}
|
comShopAddressDTO.setUserId(userId);
|
return communityService.shopFlowerAddUserAddress(comShopAddressDTO);
|
}
|
|
@ApiOperation(value = "修改用户收货地址列表")
|
@PostMapping("shopEditUserAddress")
|
public R shopEditUserAddress(@RequestBody ComShopAddressDTO comShopAddressDTO) {
|
Long userId = this.getUserId();
|
if (userId == null) {
|
return R.fail("请重新登陆");
|
}
|
comShopAddressDTO.setUserId(userId);
|
return communityService.shopFlowerEditUserAddress(comShopAddressDTO);
|
}
|
|
@ApiOperation(value = "删除用户收货地址列表")
|
@DeleteMapping("shopDelUserAddress")
|
@ApiImplicitParam(name = "addressId", value = "收货地址id", required = true)
|
public R shopDelUserAddress(@RequestParam("addressId") Long addressId) {
|
return communityService.shopFlowerDelUserAddress(addressId);
|
}
|
|
@ApiOperation(value = "订单预览", response = ComShopOrderPreviewVO.class)
|
@PostMapping("orderPreview")
|
public R orderPreview(@RequestBody ComShopOrderPreviewDTO orderPreviewDTO) {
|
Long userId = this.getUserId();
|
if (userId == null) {
|
return R.fail("请重新登陆");
|
}
|
orderPreviewDTO.setUserId(userId);
|
return communityService.orderPreviewFlower(orderPreviewDTO);
|
}
|
|
@ApiOperation(value = "创建订单", response = ComShopOrderVO.class)
|
@PostMapping("orderCreate")
|
public R orderCreate(@RequestBody ComShopOrderCreateDTO orderCreateDTO) {
|
LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
|
if (loginUserInfo == null) {
|
return R.fail("请重新登陆");
|
}
|
orderCreateDTO.setUserId(loginUserInfo.getUserId());
|
orderCreateDTO.setPhone(loginUserInfo.getPhone());
|
orderCreateDTO.setOpenId(loginUserInfo.getOpenid());
|
return communityService.orderCreateFlower(orderCreateDTO);
|
}
|
|
@ApiOperation(value = "分页查询订单列表", response = ComShopFlowerOrderPageVO.class)
|
@PostMapping("pageOrderList")
|
public R pageOrderList(@RequestBody PageComFlowerOrderListDTO comOrderListDTO) {
|
LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
|
if (loginUserInfo == null) {
|
return R.fail("请重新登陆");
|
}
|
comOrderListDTO.setUserId(loginUserInfo.getUserId());
|
return communityService.pageOrderListFlower(comOrderListDTO);
|
}
|
|
@ApiOperation(value = "查询订单详情", response = ComShopFlowerOrderPageVO.class)
|
@GetMapping("orderDetail")
|
@ApiImplicitParam(name = "orderId", value = "订单id", required = true)
|
public R orderDetail(@RequestParam("orderId") Long 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 = "取消订单")
|
@PostMapping("orderCancel")
|
public R orderCancel(@RequestBody ComShopOrderQueryDTO comShopOrderQueryDTO) {
|
LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
|
if (loginUserInfo == null) {
|
return R.fail("请重新登陆");
|
}
|
return communityService.orderCancelFlower(comShopOrderQueryDTO);
|
}
|
|
@ApiOperation(value = "删除订单")
|
@DeleteMapping("orderDelete")
|
@ApiImplicitParam(name = "orderId", value = "订单id", required = true)
|
public R orderDelete(@RequestParam("orderId") Long orderId) {
|
return communityService.orderDeleteFlower(orderId);
|
}
|
|
@ApiOperation(value = "订单确认收货")
|
@PostMapping("orderConfirm")
|
public R orderConfirm(@RequestBody ComShopOrderQueryDTO comShopOrderQueryDTO) {
|
LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
|
if (loginUserInfo == null) {
|
return R.fail("请重新登陆");
|
}
|
return communityService.orderConfirmFlower(comShopOrderQueryDTO);
|
}
|
|
|
@ApiOperation(value = "小程序微信调起支付")
|
@PostMapping("wxpay")
|
public R wxPay(@RequestBody OrderPayDTO orderPayDTO) {
|
LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
|
if (loginUserInfo == null) {
|
return R.fail("请重新登陆");
|
}
|
orderPayDTO.setOpenId(loginUserInfo.getOpenid());
|
return communityService.wxPayFlower(orderPayDTO);
|
}
|
|
/**
|
* 获取当前商铺周围的自提点信息以及距离手机距离
|
*
|
* @param merchantId
|
* @return
|
*/
|
@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) {
|
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)
|
@PostMapping("/pageEvaluate")
|
public R pageEvaluate(@RequestBody PageComShopFlowerEvaluateDTO pageComShopFlowerEvaluateDTO) {
|
return communityService.pageEvaluate(pageComShopFlowerEvaluateDTO);
|
}
|
|
/**
|
* 评价详情
|
*
|
* @param id
|
* @return
|
*/
|
@ApiOperation(value = "评价详情")
|
@GetMapping("/detailEvaluate")
|
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) {
|
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) {
|
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);
|
}
|
}
|