master
howell 3 years ago
parent 054f1ed06e
commit 27f8910a5b

@ -96,42 +96,3 @@ func (o Proxy) OrderUpdate(c *gin.Context) {
back.Suc(c, "ok", "")
}
}
func (o Proxy) OrderCancel(c *gin.Context) {
var args jyy.OrderEntry
if err := tools.ParseParams(&args, c); err != nil {
back.Err(c, err.Error())
return
}
if err := jyy.Logic.OrderCancel(args); err != nil {
back.Fail(c, err.Error())
} else {
back.Suc(c, "ok", "")
}
}
func (o Proxy) OrderConfirm(c *gin.Context) {
var args jyy.OrderEntry
if err := tools.ParseParams(&args, c); err != nil {
back.Err(c, err.Error())
return
}
if err := jyy.Logic.OrderConfirm(args); err != nil {
back.Fail(c, err.Error())
} else {
back.Suc(c, "ok", "")
}
}
func (o Proxy) OrderMakeUp(c *gin.Context) {
var args jyy.OrderEntry
if err := tools.ParseParams(&args, c); err != nil {
back.Err(c, err.Error())
return
}
if err := jyy.Logic.OrderMakeUp(args); err != nil {
back.Fail(c, err.Error())
} else {
back.Suc(c, "ok", "")
}
}

@ -70,3 +70,42 @@ func (o Proxy) Delete(c *gin.Context) {
back.Suc(c, "ok", "")
}
}
func (o Proxy) OrderCancel(c *gin.Context) {
var args jyy.OrderEntry
if err := tools.ParseParams(&args, c); err != nil {
back.Err(c, err.Error())
return
}
if err := jyy.Logic.OrderCancel(args); err != nil {
back.Fail(c, err.Error())
} else {
back.Suc(c, "ok", "")
}
}
func (o Proxy) OrderConfirm(c *gin.Context) {
var args jyy.OrderEntry
if err := tools.ParseParams(&args, c); err != nil {
back.Err(c, err.Error())
return
}
if err := jyy.Logic.OrderConfirm(args); err != nil {
back.Fail(c, err.Error())
} else {
back.Suc(c, "ok", "")
}
}
func (o Proxy) OrderMakeUp(c *gin.Context) {
var args jyy.OrderEntry
if err := tools.ParseParams(&args, c); err != nil {
back.Err(c, err.Error())
return
}
if err := jyy.Logic.OrderMakeUp(args); err != nil {
back.Fail(c, err.Error())
} else {
back.Suc(c, "ok", "")
}
}

@ -403,26 +403,3 @@ func (o logic) OrderUpdate(args OrderAddrUpdate) (err error) {
return
}
type OrderEntry struct {
OrderID uint `json:"order_id" validate:"required"`
Amount decimal.Decimal `json:"amount"`
Reason string `json:"reason"`
Photo string `json:"photo"`
}
func (o logic) OrderCancel(args OrderEntry) (err error) {
// 发起未发货售后,并退款
return
}
func (o logic) OrderConfirm(args OrderEntry) (err error) {
// 发货, 只修改状态, 没有物流信息
return
}
func (o logic) OrderMakeUp(args OrderEntry) (err error) {
//
return
}

@ -0,0 +1,94 @@
package jyy
import (
"fmt"
"git.oa00.com/go/mysql"
"github.com/golangkit/formatime"
"github.com/shopspring/decimal"
"gorm.io/gorm"
after2 "recook/internal/v2/model/recook/after"
manage "recook/internal/v2/model/recook/order"
"time"
)
type OrderEntry struct {
OrderID uint `json:"order_id" validate:"required"`
Amount decimal.Decimal `json:"amount"`
Reason string `json:"reason"`
Photo string `json:"photo"`
}
func (o logic) OrderCancel(args OrderEntry) (err error) {
// 发起未发货售后,并退款
var od manage.RecookOrderInfoModel
mysql.Db.Preload("OrderSku").First(&od, "id = ?", args.OrderID)
if od.OrderType != 2 {
err = fmt.Errorf("不是批发订单无法取消")
return
}
if err = mysql.Db.Transaction(func(tx *gorm.DB) error {
for _, v := range od.OrderSku {
after := after2.RecookAfterSalesGoodsModel{
AncestorId: v.AncestorId,
ParentId: v.ParentId,
SharerId: v.SharerId,
UserId: v.UserId,
UserRole: 0,
OrderId: v.OrderId,
OrderGoodsId: v.Id,
VendorId: v.VendorId,
VendorName: v.VendorName,
BrandName: v.BrandName,
CategoryName: v.CategoryName,
GoodsId: v.GoodsId,
GoodsName: v.GoodsName,
SkuName: v.SkuName,
SkuCode: v.SkuCode,
MainPhotoUrl: v.MainPhotoURL,
Quantity: v.Quantity,
OrderTime: v.OrderTime,
OrderTotalAmount: od.ActualTotalAmount,
RefundAmount: v.ActualAmount,
RefundCoin: decimal.Zero,
TradeNo: od.TradeNo,
PayMethod: od.PayMethod,
IsShip: v.ExpressStatus,
AssType: 1,
ReturnStatus: 1,
ApplyTime: formatime.NewSecondNow(),
RefundNo: fmt.Sprintf("%d_%vA%d", time.Now().Unix(), od.TradeNo, v.Id),
}
if e := tx.Create(&after).Error; e != nil {
return e
}
lo := after2.RecookAfterSalesLogsModel{
AsID: after.Id,
Title: "系统申请仅退款",
Content: "退款原因:系统自动发起" + "|退款金额:" + (after.RefundAmount).String() + "|退回瑞币:" + after.RefundCoin.String(),
CTime: formatime.Second{},
User: "system",
UserId: 0,
}
if e := tx.Create(&lo).Error; e != nil {
return e
}
}
return nil
}); err != nil {
return
}
return
}
func (o logic) OrderConfirm(args OrderEntry) (err error) {
// 发货, 只修改状态, 没有物流信息
return
}
func (o logic) OrderMakeUp(args OrderEntry) (err error) {
//
return
}

@ -301,6 +301,11 @@ func (o *orderLogic) Query(where Where) (list []QueryDownload, e error) {
query = query.Where("rog.shipping_method = ? AND is_split = 0", manage.RecookOrderGoodsDetailShippingMethodExpress)
{
// 供应商筛选
if where.IsSale {
query = query.Where("rog.order_type = 2")
} else {
query = query.Where("rog.order_type = 1")
}
if where.VendorId > 0 {
query = query.Where("rog.vendor_id = ?", where.VendorId)
}

@ -167,6 +167,7 @@ type RecookOrderInfoModel struct {
JCookParentID uint `gorm:"column:jcook_parent_id"`
OrderSku []RecookOrderGoodsDetailModel `json:"-" gorm:"foreignKey:order_id"`
After []after.RecookAfterSalesGoodsModel `json:"-" gorm:"foreignKey:order_id"`
OrderType uint `json:"-"`
}
// TableName sets the insert table name for this struct type

@ -239,9 +239,6 @@ func routerApp(appRouter *gin.RouterGroup) {
{
OrderRouter.POST("preview", proxy.OrderPreview)
OrderRouter.POST("update", proxy.OrderUpdate)
OrderRouter.POST("cancel", proxy.OrderCancel)
OrderRouter.POST("confirm", proxy.OrderConfirm)
orderRouter.POST("makeup", proxy.OrderMakeUp)
}
}
}

@ -833,4 +833,16 @@ func routerManage(manageRouter *gin.RouterGroup) {
}
}
}
{
SaleOrderRouter := manageRouter.Group("sale_order")
{
proxy := jyy.Proxy{}
{
SaleOrderRouter.POST("cancel", proxy.OrderCancel)
SaleOrderRouter.POST("confirm", proxy.OrderConfirm)
SaleOrderRouter.POST("makeup", proxy.OrderMakeUp)
}
}
}
}

Loading…
Cancel
Save