package com.panzhihua.service_community.api;
|
|
import java.util.List;
|
|
import javax.annotation.Resource;
|
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.PostMapping;
|
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.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.panzhihua.common.model.dtos.PageDTO;
|
import com.panzhihua.common.model.dtos.shop.ComShopAddressDTO;
|
import com.panzhihua.common.model.dtos.shop.ComShopCartDTO;
|
import com.panzhihua.common.model.dtos.shop.ComShopEditNubCartDTO;
|
import com.panzhihua.common.model.dtos.shop.ComShopFundsExportDTO;
|
import com.panzhihua.common.model.dtos.shop.ComShopGoodsDTO;
|
import com.panzhihua.common.model.dtos.shop.ComShopOrderCreateDTO;
|
import com.panzhihua.common.model.dtos.shop.ComShopOrderDeliverDTO;
|
import com.panzhihua.common.model.dtos.shop.ComShopOrderExportDTO;
|
import com.panzhihua.common.model.dtos.shop.ComShopOrderPreviewDTO;
|
import com.panzhihua.common.model.dtos.shop.ComShopOrderQueryDTO;
|
import com.panzhihua.common.model.dtos.shop.ComShopOrderShipDTO;
|
import com.panzhihua.common.model.dtos.shop.ComShopSysConfDTO;
|
import com.panzhihua.common.model.dtos.shop.OrderPayDTO;
|
import com.panzhihua.common.model.dtos.shop.PageComOrderListDTO;
|
import com.panzhihua.common.model.dtos.shop.PageComShopAddressDTO;
|
import com.panzhihua.common.model.dtos.shop.PageComShopFundsSearchDTO;
|
import com.panzhihua.common.model.dtos.shop.PageComShopGoodsDTO;
|
import com.panzhihua.common.model.dtos.shop.PageComShopOrderSearchDTO;
|
import com.panzhihua.common.model.dtos.shop.PageComShopStoreDTO;
|
import com.panzhihua.common.model.dtos.shop.PageComShopSysConfDTO;
|
import com.panzhihua.common.model.dtos.shop.WxPayNotifyOrderDTO;
|
import com.panzhihua.common.model.vos.R;
|
import com.panzhihua.common.model.vos.shop.AddShopGoodsVO;
|
import com.panzhihua.common.model.vos.shop.ComShopSysConfVO;
|
import com.panzhihua.common.model.vos.shop.ShopOperLogVO;
|
import com.panzhihua.common.model.vos.shop.ShopStoreVO;
|
import com.panzhihua.common.service.user.UserService;
|
import com.panzhihua.service_community.model.dos.ComShopSysConfDO;
|
import com.panzhihua.service_community.service.ComShopCartService;
|
import com.panzhihua.service_community.service.ComShopGoodsService;
|
import com.panzhihua.service_community.service.ComShopOperLogService;
|
import com.panzhihua.service_community.service.ComShopOrderService;
|
import com.panzhihua.service_community.service.ComShopStoreService;
|
import com.panzhihua.service_community.service.ComShopSysConfService;
|
import com.panzhihua.service_community.service.ComShopUserAddressService;
|
import com.panzhihua.service_community.service.ConvenientMerchantService;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
@Slf4j
|
@RestController
|
@RequestMapping("/shop")
|
public class ShopApi {
|
|
@Resource
|
private ComShopStoreService comShopStoreService;
|
@Resource
|
private ComShopGoodsService comShopGoodsService;
|
@Resource
|
private ComShopOperLogService comShopOperLogService;
|
@Resource
|
private ComShopOrderService comShopOrderService;
|
@Resource
|
private ComShopCartService comShopCartService;
|
@Resource
|
private ComShopUserAddressService comShopUserAddressService;
|
@Resource
|
private ComShopSysConfService comShopSysConfService;
|
@Resource
|
private ConvenientMerchantService convenientMerchantService;
|
@Resource
|
private UserService userService;
|
|
/**
|
* 店铺列表-分页查询
|
*
|
* @param pageComShopStoreDTO
|
* 查询参数
|
* @return PageShopStoreVO
|
*/
|
@PostMapping("/pageShopStore")
|
public R pageShopStore(@RequestBody PageComShopStoreDTO pageComShopStoreDTO) {
|
return comShopStoreService.pageStoreList(pageComShopStoreDTO);
|
}
|
|
/**
|
* 保存店铺
|
*
|
* @param storeVO
|
* @return
|
*/
|
@PostMapping("/saveStore")
|
public R saveStore(@RequestBody ShopStoreVO storeVO) {
|
return comShopStoreService.saveStore(storeVO);
|
}
|
|
/**
|
* 新增店铺
|
*
|
* @param storeVO
|
* 店铺信息
|
* @return 新增结果
|
*/
|
@PostMapping("/addStore")
|
public R addStore(@RequestBody ShopStoreVO storeVO) {
|
return comShopStoreService.addStore(storeVO);
|
}
|
|
/**
|
* 编辑店铺、启用、禁用
|
*
|
* @param storeVO
|
* @param id
|
* 商铺Id
|
* @return
|
*/
|
@PostMapping("/editStore/{id}")
|
public R editStore(@RequestBody ShopStoreVO storeVO, @PathVariable("id") Long id) {
|
return comShopStoreService.editStore(id, storeVO);
|
}
|
|
/**
|
* 删除店铺
|
*
|
* @param id
|
* @return
|
*/
|
@PostMapping("/deleteStore")
|
public R deleteStore(@RequestBody Long[] id) {
|
return comShopStoreService.deleteStore(id);
|
}
|
|
/**
|
* 获取详情
|
*
|
* @param id
|
* @return
|
*/
|
@GetMapping("/getStoreInfo")
|
public R getOneInfo(@RequestParam("id") Long id) {
|
return comShopStoreService.getOneInfo(id);
|
}
|
|
/**
|
* 获取用户商铺详细
|
*
|
* @param userId
|
* 用户ID
|
* @return
|
*/
|
@GetMapping("/getUserStoreInfo")
|
public R getUserStoreInfo(@RequestParam("userId") Long userId) {
|
return comShopStoreService.getUserStoreInfo(userId);
|
}
|
|
/**
|
* 获取用户商铺详细
|
*
|
* @param account
|
* 用户账号
|
* @return
|
*/
|
@GetMapping("/getUserStoreInfoByAccount")
|
public R<ShopStoreVO> getUserStoreInfoByAccount(@RequestParam("account") String account) {
|
return comShopStoreService.getUserStoreInfo(account);
|
}
|
|
/**
|
* 添加商城后台日志
|
*
|
* @param shopOperlog
|
* 商城日志
|
* @return 添加结果
|
*/
|
@PostMapping("/addShopOperLog")
|
public R addShopOperLog(@RequestBody ShopOperLogVO shopOperlog) {
|
return comShopOperLogService.saveLog(shopOperlog);
|
}
|
|
/**
|
* 分页查询 商家后台操作日志
|
*
|
* @param pageDTO
|
* 分页数据
|
* @return 分页日志
|
*/
|
@PostMapping("/pageShopOperLog")
|
public R pageShopOperLog(@RequestBody PageDTO pageDTO) {
|
return comShopOperLogService.pageShopOperLog(pageDTO);
|
}
|
|
/**
|
* 分页查询 商家订单
|
*
|
* @param pageComShopOrderSearchDTO
|
* 分页数据
|
* @return 分页订单
|
*/
|
@PostMapping("/order/page")
|
public R pageShopOrder(@RequestBody PageComShopOrderSearchDTO pageComShopOrderSearchDTO) {
|
return comShopOrderService.pageShopOrder(pageComShopOrderSearchDTO);
|
}
|
|
/**
|
* 根据店铺id查询店铺详情
|
*
|
* @param comShopStoreDTO
|
* 请求参数
|
* @return 店铺详情
|
*/
|
@PostMapping("shopStoreDetail")
|
public R shopStoreDetail(@RequestBody PageComShopStoreDTO comShopStoreDTO) {
|
return comShopStoreService.shopStoreDetail(comShopStoreDTO);
|
}
|
|
/**
|
* 分页查询商品列表
|
*
|
* @param comShopGoodsDTO
|
* 请求参数
|
* @return 商品列表
|
*/
|
@PostMapping("/pageShopGoods")
|
public R pageShopGoods(@RequestBody ComShopGoodsDTO comShopGoodsDTO) {
|
|
return comShopGoodsService.pageShopGoods(comShopGoodsDTO);
|
}
|
|
/**
|
* 根据商品id查询商品详情
|
*
|
* @param goodsId
|
* 商品id
|
* @return 商品信息
|
*/
|
@PostMapping("shopGoodsDetail")
|
public R shopGoodsDetail(@RequestParam("goodsId") Long goodsId) {
|
return comShopGoodsService.shopGoodsDetail(goodsId);
|
}
|
|
/**
|
* 根据用户id查询购物车列表
|
*
|
* @param userId
|
* 用户id
|
* @return 购物车列表信息
|
*/
|
@PostMapping("shopCartList")
|
public R shopCartList(@RequestParam("userId") Long userId) {
|
return comShopCartService.shopCartList(userId);
|
}
|
|
/**
|
* 查询用户购物车数量
|
*
|
* @param userId
|
* 用户id
|
* @return 用户购物车商品数量
|
*/
|
@PostMapping("shopCartUserTotal")
|
public R shopCartUserTotal(@RequestParam("userId") Long userId) {
|
return comShopCartService.shopCartUserTotal(userId);
|
}
|
|
/**
|
* 购物车添加
|
*
|
* @param comShopCartDTO
|
* 请求参数
|
* @return 添加结果
|
*/
|
@PostMapping("shopAddCart")
|
public R shopAddCart(@RequestBody ComShopCartDTO comShopCartDTO) {
|
return comShopCartService.shopAddCart(comShopCartDTO);
|
}
|
|
/**
|
* 购物车内商品数量添加
|
*
|
* @param shopEditNubCartDTO
|
* 请求参数
|
* @return 修改结果
|
*/
|
@PostMapping("shopEditNubCart")
|
public R shopEditNubCart(@RequestBody ComShopEditNubCartDTO shopEditNubCartDTO) {
|
return comShopCartService.shopEditNubCart(shopEditNubCartDTO);
|
}
|
|
/**
|
* 删除购物车记录
|
*
|
* @param Ids
|
* 购物车id集合
|
* @return 删除结果
|
*/
|
@PostMapping("shopDelCart")
|
public R shopDelCart(@RequestBody List<Long> Ids) {
|
return comShopCartService.shopDelCart(Ids);
|
}
|
|
/**
|
* 查询用户收货地址列表
|
*
|
* @param comShopAddressDTO
|
* 请求参数
|
* @return 用户收获地址列表
|
*/
|
@PostMapping("shopUserAddressList")
|
public R shopUserAddressList(@RequestBody PageComShopAddressDTO comShopAddressDTO) {
|
return comShopUserAddressService.shopUserAddressList(comShopAddressDTO);
|
}
|
|
/**
|
* 用户添加书货地址
|
*
|
* @param comShopAddressDTO
|
* 请求参数
|
* @return 添加结果
|
*/
|
@PostMapping("shopAddUserAddress")
|
public R shopAddUserAddress(@RequestBody ComShopAddressDTO comShopAddressDTO) {
|
return comShopUserAddressService.shopAddUserAddress(comShopAddressDTO);
|
}
|
|
/**
|
* 用户修改收货地址
|
*
|
* @param comShopAddressDTO
|
* 请求参数
|
* @return 修改结果
|
*/
|
@PostMapping("shopEditUserAddress")
|
public R shopEditUserAddress(@RequestBody ComShopAddressDTO comShopAddressDTO) {
|
return comShopUserAddressService.shopEditUserAddress(comShopAddressDTO);
|
}
|
|
/**
|
* 用户删除收货地址
|
*
|
* @param addressId
|
* 收货地址id
|
* @return 删除结果
|
*/
|
@PostMapping("shopDelUserAddress")
|
public R shopDelUserAddress(@RequestParam("addressId") Long addressId) {
|
return comShopUserAddressService.shopDelUserAddress(addressId);
|
}
|
|
/**
|
* 订单预览
|
*
|
* @param orderPreviewDTO
|
* 请求参数
|
* @return 订单预览数据
|
*/
|
@PostMapping("orderPreview")
|
public R orderPreview(@RequestBody ComShopOrderPreviewDTO orderPreviewDTO) {
|
return comShopOrderService.orderPreview(orderPreviewDTO);
|
}
|
|
/**
|
* 创建订单
|
*
|
* @param orderCreateDTO
|
* 创建订单请求参数
|
* @return 创建结果
|
*/
|
@PostMapping("orderCreate")
|
public R orderCreate(@RequestBody ComShopOrderCreateDTO orderCreateDTO) {
|
return comShopOrderService.orderCreate(orderCreateDTO);
|
}
|
|
/**
|
* 分页查询用户订单列表
|
*
|
* @param comOrderListDTO
|
* 请求参数
|
* @return 查询结果
|
*/
|
@PostMapping("pageOrderList")
|
public R pageOrderList(@RequestBody PageComOrderListDTO comOrderListDTO) {
|
return comShopOrderService.pageOrderList(comOrderListDTO);
|
}
|
|
/**
|
* 根据订单id查询订单详情
|
*
|
* @param orderId
|
* 订单id
|
* @return 订单详情
|
*/
|
@PostMapping("orderDetail")
|
public R orderDetail(@RequestParam("orderId") Long orderId) {
|
return comShopOrderService.orderDetail(orderId);
|
}
|
|
/**
|
* 根据订单id取消订单
|
*
|
* @param comShopOrderQueryDTO
|
* 请求参数
|
* @return 取消结果
|
*/
|
@PostMapping("orderCancel")
|
public R orderCancel(@RequestBody ComShopOrderQueryDTO comShopOrderQueryDTO) {
|
return comShopOrderService.orderCancel(comShopOrderQueryDTO);
|
}
|
|
/**
|
* 根据订单id删除订单
|
*
|
* @param orderId
|
* 订单id
|
* @return 删除结果
|
*/
|
@PostMapping("orderDelete")
|
public R orderDelete(@RequestParam("orderId") Long orderId) {
|
return comShopOrderService.orderDelete(orderId);
|
}
|
|
/**
|
* 根据订单id确认收货
|
*
|
* @param comShopOrderQueryDTO
|
* 请求参数
|
* @return 确认结果
|
*/
|
@PostMapping("orderConfirm")
|
public R orderConfirm(@RequestBody ComShopOrderQueryDTO comShopOrderQueryDTO) {
|
return comShopOrderService.orderConfirm(comShopOrderQueryDTO.getOrderId(), comShopOrderQueryDTO.getPhone());
|
}
|
|
/**
|
* 统计用户订单数量
|
*
|
* @param userId
|
* 用户id
|
* @return 统计结果
|
*/
|
@PostMapping("orderStatistics")
|
public R orderStatistics(@RequestParam("userId") Long userId) {
|
return comShopOrderService.orderStatistics(userId);
|
}
|
|
/**
|
* 商品列表-分页查询
|
*
|
* @param pageComShopGoodsDTO
|
* 查询参数
|
* @return PageShopStoreVO
|
*/
|
@PostMapping("pageGoods")
|
public R pageShopStore(@RequestBody PageComShopGoodsDTO pageComShopGoodsDTO) {
|
return comShopGoodsService.pageGoodsList(pageComShopGoodsDTO);
|
}
|
|
/**
|
* 新增商品
|
*
|
* @param addShopGoodsVO
|
* @return
|
*/
|
@PostMapping("saveShopGoods")
|
public R saveStore(@RequestBody AddShopGoodsVO addShopGoodsVO) {
|
return comShopGoodsService.saveShopGoods(addShopGoodsVO);
|
}
|
|
/**
|
* 编辑商品
|
*
|
* @param addShopGoodsVO
|
* @param id
|
* 商铺Id
|
* @return
|
*/
|
@Transactional(rollbackFor = Exception.class)
|
@PostMapping("editShopGoods/{id}")
|
public R editShopGoods(@PathVariable("id") Long id, @RequestBody AddShopGoodsVO addShopGoodsVO) {
|
return comShopGoodsService.editShopGoods(id, addShopGoodsVO);
|
}
|
|
/**
|
* 删除商品
|
*
|
* @param id
|
* @return
|
*/
|
@PostMapping("deleteShopGoods")
|
public R deleteShopGoods(@RequestBody Long[] id) {
|
return comShopGoodsService.deleteShopGoods(id);
|
}
|
|
/**
|
* 修改商品状态
|
*
|
* @param id
|
* @return
|
*/
|
@GetMapping("changeShopGoodsStatus")
|
public R changeStatus(@RequestParam("id") Long id, @RequestParam("status") Integer status) {
|
return comShopGoodsService.changeStatus(id, status);
|
}
|
|
/**
|
* 商家资金的订单详情
|
*
|
* @param id
|
* @return
|
*/
|
@GetMapping("capitalDetailByStore")
|
public R capitalDetailByStore(@RequestParam("id") Long id) {
|
return comShopOrderService.capitalDetailByStore(id);
|
}
|
|
/**
|
* 订单发货
|
*
|
* @param orderShipDTO
|
* 发货信息
|
* @return 发货结果
|
*/
|
@PostMapping("/shipOrder")
|
R shipOrder(@RequestBody ComShopOrderShipDTO orderShipDTO) {
|
return comShopOrderService.shipOrder(orderShipDTO);
|
}
|
|
/**
|
* 订单配送
|
*
|
* @param deliverDTO
|
* 订单ID
|
* @return 配送结果
|
*/
|
@PostMapping("/deliverOrder")
|
R deliverOrder(@RequestBody ComShopOrderDeliverDTO deliverDTO) {
|
return comShopOrderService.deliverOrder(deliverDTO);
|
}
|
|
/**
|
* 订单配送
|
*
|
* @param deliverDTO
|
* 订单ID
|
* @return 配送完成
|
*/
|
@PostMapping("/finishDeliverOrder")
|
R finishDeliverOrder(@RequestBody ComShopOrderDeliverDTO deliverDTO) {
|
return comShopOrderService.finishDeliverOrder(deliverDTO);
|
}
|
|
/**
|
* 订单导出信息
|
*
|
* @param comShopOrderExportDTO
|
* 订单导出信息
|
* @return 订单导出信息
|
*/
|
@PostMapping("/shopOrderExportData")
|
R shopOrderExportData(@RequestBody ComShopOrderExportDTO comShopOrderExportDTO) {
|
return comShopOrderService.shopOrderExportData(comShopOrderExportDTO);
|
}
|
|
/**
|
* 资金管理导出信息
|
*
|
* @param comShopFundsExportDTO
|
* 资金管理导出信息
|
* @return 资金管理导出信息
|
*/
|
@PostMapping("/shopOrderFundsExportData")
|
R shopOrderFundsExportData(@RequestBody ComShopFundsExportDTO comShopFundsExportDTO) {
|
return comShopOrderService.shopOrderFundsExportData(comShopFundsExportDTO);
|
}
|
|
/**
|
* 用户资金统计信息
|
*
|
* @param userId
|
* 用户ID
|
* @return 统计信息
|
*/
|
@GetMapping("/getFundsStat")
|
R getFundsStat(@RequestParam("userId") Long userId) {
|
return comShopOrderService.getFundsStat(userId);
|
}
|
|
/**
|
* 店铺资金统计信息
|
*
|
* @param pageComShopFundsSearchDTO
|
* 店铺资金
|
* @return 店铺资金统计信息
|
*/
|
@PostMapping("/pageShopFunds")
|
R pageShopFunds(@RequestBody PageComShopFundsSearchDTO pageComShopFundsSearchDTO) {
|
return comShopOrderService.pageShopFunds(pageComShopFundsSearchDTO);
|
}
|
|
/**
|
* 微信支付订单回调
|
*
|
* @param wxPayNotifyOrderDTO
|
* 订单支付回调参数
|
*/
|
@PostMapping("/wxOrderPayNotify")
|
public void wxOrderPayNotify(@RequestBody WxPayNotifyOrderDTO wxPayNotifyOrderDTO) {
|
comShopOrderService.wxOrderPayNotify(wxPayNotifyOrderDTO);
|
}
|
|
/**
|
* 点击去支付订单
|
*
|
* @param orderPayDTO
|
* 请求参数
|
* @return 支付对象
|
*/
|
@PostMapping("/wxPay")
|
public R wxPay(@RequestBody OrderPayDTO orderPayDTO) {
|
return comShopOrderService.wxPay(orderPayDTO);
|
}
|
|
/**
|
* 商城系统配置
|
*
|
* @param comShopSysConfDTO
|
* @return
|
*/
|
@PostMapping("/conf/edit")
|
R editShopSysConf(@RequestBody ComShopSysConfDTO comShopSysConfDTO) {
|
ComShopSysConfDO comShopSysConfDO = comShopSysConfService.getBaseMapper().selectById(comShopSysConfDTO.getId());
|
switch (comShopSysConfDTO.getHidden()) {
|
case 0:
|
comShopSysConfDO.setVal("0");
|
comShopSysConfDO.setEnabled("1");
|
break;
|
case 1:
|
comShopSysConfDO.setVal("1");
|
comShopSysConfDO.setEnabled("1");
|
break;
|
default:
|
break;
|
}
|
int updated = comShopSysConfService.getBaseMapper().updateById(comShopSysConfDO);
|
if (updated == 1) {
|
return R.ok();
|
}
|
return R.fail();
|
}
|
|
/**
|
* 商城系统配置查询
|
*
|
* @param pageComShopSysConfDTO
|
* @return
|
*/
|
@PostMapping("/conf/get")
|
R pageShopSysConf(@RequestBody PageComShopSysConfDTO pageComShopSysConfDTO) {
|
List<ComShopSysConfDO> confList =
|
comShopSysConfService.getBaseMapper().selectList(new LambdaQueryWrapper<ComShopSysConfDO>()
|
.eq(ComShopSysConfDO::getName, "SHOP_HIDDEN").orderByDesc(ComShopSysConfDO::getCreate_at));
|
ComShopSysConfVO comShopSysConfVO = new ComShopSysConfVO();
|
if (confList != null && confList.size() > 0) {
|
ComShopSysConfDO firstConf = confList.get(0);
|
BeanUtils.copyProperties(firstConf, comShopSysConfVO);
|
return R.ok(comShopSysConfVO);
|
}
|
return R.ok();
|
}
|
|
/**
|
* check商家/店铺是否有效
|
* @param userId
|
* @return
|
*/
|
@GetMapping("/checkStoreIsValid")
|
public R checkStoreIsValid(@RequestParam("userId") Long userId) {
|
Boolean isShopValid = comShopStoreService.checkStoreIsValid(userId);
|
Boolean isConvenientValid = convenientMerchantService.checkStoreIsValid(userId);
|
Boolean isMcsValid = userService.checkUserIsValid(userId, 11);
|
return R.ok(isShopValid || isConvenientValid || isMcsValid);
|
}
|
}
|