增加私域订单
This commit is contained in:
parent
4f59023ef0
commit
71a47383da
|
|
@ -0,0 +1,85 @@
|
||||||
|
package cn.qihangerp.oms.controller.offline;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.qihangerp.common.AjaxResult;
|
||||||
|
import cn.qihangerp.common.PageQuery;
|
||||||
|
import cn.qihangerp.common.ResultVo;
|
||||||
|
import cn.qihangerp.common.TableDataInfo;
|
||||||
|
import cn.qihangerp.module.order.domain.OfflineGoodsSku;
|
||||||
|
import cn.qihangerp.module.order.service.OfflineGoodsSkuService;
|
||||||
|
import cn.qihangerp.security.common.BaseController;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 商品管理Controller
|
||||||
|
*
|
||||||
|
* @author qihang
|
||||||
|
* @date 2023-12-29
|
||||||
|
*/
|
||||||
|
@AllArgsConstructor
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/offline_goods")
|
||||||
|
public class OfflineGoodsController extends BaseController
|
||||||
|
{
|
||||||
|
private final OfflineGoodsSkuService skuService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 搜索商品SKU
|
||||||
|
* 条件:商品编码、SKU、商品名称
|
||||||
|
*/
|
||||||
|
@GetMapping("/searchSku")
|
||||||
|
public TableDataInfo searchSkuBy(String keyword)
|
||||||
|
{
|
||||||
|
logger.info("========SKU搜索=========",keyword);
|
||||||
|
List<OfflineGoodsSku> list = skuService.searchGoodsSpec(keyword);
|
||||||
|
return getDataTable(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/sku_list")
|
||||||
|
public TableDataInfo skuList(OfflineGoodsSku bo, PageQuery pageQuery)
|
||||||
|
{
|
||||||
|
var pageList = skuService.querySkuPageList(bo,pageQuery);
|
||||||
|
return getDataTable(pageList);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取商品管理详细信息
|
||||||
|
*/
|
||||||
|
@GetMapping(value = "/sku/{id}")
|
||||||
|
public AjaxResult getSkuInfo(@PathVariable("id") Long id)
|
||||||
|
{
|
||||||
|
return success(skuService.getById(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@PostMapping("/sku")
|
||||||
|
public AjaxResult addSku(@RequestBody OfflineGoodsSku goodsSku)
|
||||||
|
{
|
||||||
|
ResultVo<Long> result = skuService.insertGoodsSku(goodsSku);
|
||||||
|
if(result.getCode() != 0) return AjaxResult.error(result.getMsg());
|
||||||
|
else return AjaxResult.success();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@PutMapping("/sku")
|
||||||
|
public AjaxResult editSku(@RequestBody OfflineGoodsSku sku)
|
||||||
|
{
|
||||||
|
return toAjax(skuService.updateById(sku));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除商品管理
|
||||||
|
*/
|
||||||
|
@DeleteMapping("/sku/{ids}")
|
||||||
|
public AjaxResult remove(@PathVariable Long[] ids)
|
||||||
|
{
|
||||||
|
return toAjax(skuService.removeBatchByIds(Arrays.stream(ids).toList()));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,107 @@
|
||||||
|
package cn.qihangerp.oms.controller.offline;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.qihangerp.common.AjaxResult;
|
||||||
|
import cn.qihangerp.common.PageQuery;
|
||||||
|
import cn.qihangerp.common.TableDataInfo;
|
||||||
|
import cn.qihangerp.common.enums.EnumShopType;
|
||||||
|
import cn.qihangerp.common.mq.MqMessage;
|
||||||
|
import cn.qihangerp.common.mq.MqType;
|
||||||
|
import cn.qihangerp.common.mq.MqUtils;
|
||||||
|
import cn.qihangerp.module.order.domain.bo.OfflineOrderCreateBo;
|
||||||
|
import cn.qihangerp.module.order.domain.bo.OfflineOrderPushBo;
|
||||||
|
import cn.qihangerp.module.order.service.OfflineOrderService;
|
||||||
|
import cn.qihangerp.request.OrderSearchRequest;
|
||||||
|
import cn.qihangerp.security.common.BaseController;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
@AllArgsConstructor
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/offline_order")
|
||||||
|
public class OfflineOrderController extends BaseController {
|
||||||
|
private final OfflineOrderService orderService;
|
||||||
|
private final MqUtils mqUtils;
|
||||||
|
/**
|
||||||
|
* 查询店铺订单列表
|
||||||
|
*/
|
||||||
|
@GetMapping("/list")
|
||||||
|
public TableDataInfo list(OrderSearchRequest bo, PageQuery pageQuery)
|
||||||
|
{
|
||||||
|
var pageList = orderService.queryPageList(bo,pageQuery);
|
||||||
|
return getDataTable(pageList);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取店铺订单详细信息
|
||||||
|
*/
|
||||||
|
@GetMapping(value = "/{id}")
|
||||||
|
public AjaxResult getInfo(@PathVariable("id") Long id)
|
||||||
|
{
|
||||||
|
return success(orderService.queryDetailById(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
// @PostMapping("/pushErp/{ids}")
|
||||||
|
// public AjaxResult remove(@PathVariable Long[] ids) {
|
||||||
|
// for (Long id : ids) {
|
||||||
|
// OOrder oOrder = orderService.getById(id);
|
||||||
|
// if (oOrder != null) {
|
||||||
|
// oOrder.setItemList(orderItemService.getOrderItemListByOrderId(id));
|
||||||
|
// ResultVo resultVo = erpPushHelper.pushOrderSingle(oOrder);
|
||||||
|
// OOrder pushUpdate = new OOrder();
|
||||||
|
// if (oOrder.getOrderStatus() == 1 || oOrder.getOrderStatus() == 2 || oOrder.getOrderStatus() == 3) {
|
||||||
|
// // 待发货、已发货、已完成 订单推送
|
||||||
|
// pushUpdate.setErpPushStatus(resultVo.getCode() == 0 ? 200 : resultVo.getCode());
|
||||||
|
//
|
||||||
|
// } else if (oOrder.getOrderStatus() == 11) {
|
||||||
|
// pushUpdate.setErpPushStatus(resultVo.getCode() == 0 ? 100 : resultVo.getCode());//推送状态200 订单推送成功 100 取消订单推送成功
|
||||||
|
// }
|
||||||
|
// pushUpdate.setErpPushResult(resultVo.getMsg());
|
||||||
|
// pushUpdate.setErpPushTime(new Date());
|
||||||
|
// pushUpdate.setUpdateBy("手动推送到ERP");
|
||||||
|
// pushUpdate.setUpdateTime(new Date());
|
||||||
|
// pushUpdate.setId(id.toString());
|
||||||
|
// orderService.updateById(pushUpdate);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// return success();
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
@PostMapping("/create")
|
||||||
|
public AjaxResult add(@RequestBody OfflineOrderCreateBo order)
|
||||||
|
{
|
||||||
|
if(order.getGoodsAmount()==null)return new AjaxResult(1503,"请填写商品价格!");
|
||||||
|
|
||||||
|
Long result = orderService.insertOfflineOrder(order,getUsername());
|
||||||
|
if(result>0) {
|
||||||
|
logger.info("渠道訂單添加成功");
|
||||||
|
mqUtils.sendApiMessage(MqMessage.build(EnumShopType.OFFLINE, MqType.ORDER_MESSAGE, order.getOrderNum()));
|
||||||
|
}
|
||||||
|
else if(result == -1) return new AjaxResult(501,"订单号已存在!");
|
||||||
|
else if(result == -2) return new AjaxResult(502,"请添加订单商品!");
|
||||||
|
else if(result == -3) return new AjaxResult(503,"请完善订单商品明细!");
|
||||||
|
else if(result == -4) return new AjaxResult(504,"请选择店铺!");
|
||||||
|
return toAjax(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 手动推送到系统
|
||||||
|
* @param bo
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@PostMapping("/push_oms")
|
||||||
|
@ResponseBody
|
||||||
|
public AjaxResult pushOms(@RequestBody OfflineOrderPushBo bo) {
|
||||||
|
// TODO:需要优化消息格式
|
||||||
|
if(bo!=null && bo.getIds()!=null) {
|
||||||
|
for(String id: bo.getIds()) {
|
||||||
|
mqUtils.sendApiMessage(MqMessage.build(EnumShopType.OFFLINE, MqType.ORDER_MESSAGE, id));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return success();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,29 @@
|
||||||
|
package cn.qihangerp.oms.controller.offline;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.qihangerp.common.PageQuery;
|
||||||
|
import cn.qihangerp.common.TableDataInfo;
|
||||||
|
import cn.qihangerp.module.order.service.OfflineRefundService;
|
||||||
|
import cn.qihangerp.request.RefundSearchRequest;
|
||||||
|
import cn.qihangerp.security.common.BaseController;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
@AllArgsConstructor
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/offline_refund")
|
||||||
|
public class OfflineRefundController extends BaseController {
|
||||||
|
|
||||||
|
private final OfflineRefundService refundService;
|
||||||
|
/**
|
||||||
|
* 查询店铺订单列表
|
||||||
|
*/
|
||||||
|
@GetMapping("/list")
|
||||||
|
public TableDataInfo list(RefundSearchRequest bo, PageQuery pageQuery)
|
||||||
|
{
|
||||||
|
var pageList = refundService.queryPageList(bo,pageQuery);
|
||||||
|
return getDataTable(pageList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,77 @@
|
||||||
|
package cn.qihangerp.oms.controller.offline;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.qihangerp.common.AjaxResult;
|
||||||
|
import cn.qihangerp.common.enums.EnumShopType;
|
||||||
|
import cn.qihangerp.common.mq.MqMessage;
|
||||||
|
import cn.qihangerp.common.mq.MqType;
|
||||||
|
import cn.qihangerp.common.mq.MqUtils;
|
||||||
|
import cn.qihangerp.module.order.domain.OfflineOrder;
|
||||||
|
import cn.qihangerp.module.order.domain.bo.OfflineOrderShipBo;
|
||||||
|
import cn.qihangerp.module.order.domain.bo.OrderShipSendBo;
|
||||||
|
import cn.qihangerp.module.order.service.OfflineOrderService;
|
||||||
|
import cn.qihangerp.security.common.BaseController;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@AllArgsConstructor
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/offline_ship")
|
||||||
|
public class OfflineShipController extends BaseController {
|
||||||
|
private final OfflineOrderService orderService;
|
||||||
|
private final MqUtils mqUtils;
|
||||||
|
/**
|
||||||
|
* 手动填写物流单号()
|
||||||
|
* @param bo
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@PostMapping("/order_logistics")
|
||||||
|
public AjaxResult add(@RequestBody OfflineOrderShipBo bo)
|
||||||
|
{
|
||||||
|
int result = orderService.orderLogistics(bo,getUsername());
|
||||||
|
if(result==-1) return AjaxResult.error("参数错误:orderNum不能为空");
|
||||||
|
else if(result==-2) return AjaxResult.error("参数错误:快递信息不能为空");
|
||||||
|
else if(result==-3) return AjaxResult.error("参数错误:找不到订单");
|
||||||
|
else if(result==-4) return AjaxResult.error("数据错误:订单状态不是待发货的状态");
|
||||||
|
else if(result==-5) return AjaxResult.error("数据错误:订单正在售后中");
|
||||||
|
|
||||||
|
return toAjax(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量发货
|
||||||
|
* @param bo
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@PostMapping("/order_batch_send")
|
||||||
|
@ResponseBody
|
||||||
|
public AjaxResult orderSend(@RequestBody OrderShipSendBo bo) {
|
||||||
|
// TODO:需要优化消息格式
|
||||||
|
if(bo!=null && bo.getOrderNums()!=null) {
|
||||||
|
for(String sn: bo.getOrderNums()) {
|
||||||
|
List<OfflineOrder> orders = orderService.list(new LambdaQueryWrapper<OfflineOrder>().eq(OfflineOrder::getOrderNum,sn));
|
||||||
|
if(orders!=null&& orders.size()>0) {
|
||||||
|
if (orders.get(0).getOrderStatus() == 1 && orders.get(0).getRefundStatus() == 1 && StringUtils.hasText(orders.get(0).getShippingNumber())) {
|
||||||
|
OfflineOrder update = new OfflineOrder();
|
||||||
|
update.setId(orders.get(0).getId());
|
||||||
|
update.setOrderStatus(2);
|
||||||
|
update.setUpdateTime(new Date());
|
||||||
|
update.setUpdateBy("批量发货");
|
||||||
|
update.setShippingTime(new Date());
|
||||||
|
update.setShippingMan(getUsername());
|
||||||
|
orderService.updateById(update);
|
||||||
|
// 通知已发货
|
||||||
|
mqUtils.sendApiMessage(MqMessage.build(EnumShopType.OFFLINE, MqType.SHIP_SEND_MESSAGE, sn, orders.get(0).getShippingCompany(), orders.get(0).getShippingNumber()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return success();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -38,7 +38,7 @@
|
||||||
import OrderDou from "@/views/dou/order/index";
|
import OrderDou from "@/views/dou/order/index";
|
||||||
import OrderPdd from "@/views/pdd/order/index";
|
import OrderPdd from "@/views/pdd/order/index";
|
||||||
import OrderWei from "@/views/wei/order/index";
|
import OrderWei from "@/views/wei/order/index";
|
||||||
import OrderOffline from "@/views/offline/order/index";
|
import OrderOffline from "@/views/order/private/index";
|
||||||
import {listPlatform} from "@/api/shop/shop";
|
import {listPlatform} from "@/api/shop/shop";
|
||||||
export default {
|
export default {
|
||||||
name: "Order",
|
name: "Order",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue