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.shop.*;
|
import com.panzhihua.common.model.vos.LoginUserInfoVO;
|
import com.panzhihua.common.model.vos.R;
|
import com.panzhihua.common.model.vos.community.convenient.ConvenientElevatingPointVO;
|
import com.panzhihua.common.model.vos.community.convenient.ConvenientMerchantVO;
|
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());
|
convenientMerchantDTO.setCreatedBy(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 = "删除用户收货地址列表")
|
@PostMapping("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 = ComShopOrderPageVO.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 = ComShopOrderPageVO.class)
|
@PostMapping("orderDetail")
|
@ApiImplicitParam(name = "orderId", value = "订单id", required = true)
|
public R orderDetail(@RequestParam("orderId") Long orderId) {
|
return communityService.orderDetail(orderId);
|
}
|
|
@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 = "删除订单")
|
@PostMapping("orderDelete")
|
@ApiImplicitParam(name = "orderId", value = "订单id", required = true)
|
public R orderDelete(@RequestParam("orderId") Long orderId) {
|
return communityService.orderDelete(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 = "统计当前用户订单", 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) {
|
LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
|
if (loginUserInfo == null) {
|
return R.fail("请重新登陆");
|
}
|
orderPayDTO.setOpenId(loginUserInfo.getOpenid());
|
return communityService.wxPayFlower(orderPayDTO);
|
}
|
|
/**
|
* 获取当前商铺周围的自提点信息以及距离手机距离
|
*
|
* @param merchantId
|
* @return
|
*/
|
@ApiOperation(value = "获取自提点")
|
@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);
|
}
|
|
/**
|
* 保存评价
|
*
|
* @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 + " 违规信息");
|
}
|
}
|
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 = ComShopFlowerOrderPageVO.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);
|
}
|
|
|
}
|