unionorder

This commit is contained in:
suyl
2021-05-07 11:03:24 +08:00
parent c24f179edc
commit 4c5e825990
10 changed files with 307 additions and 136 deletions

View File

@@ -109,6 +109,7 @@ func InitServiceInfo(version string, buildTime time.Time, gitCommit string) {
1: "进行中的活动",
},
},
"unionOrderStatusName": model.UnionOrderStatusName,
},
}
}

View File

@@ -2,7 +2,8 @@ package cms
import (
"fmt"
"git.rosy.net.cn/jx-callback/business/jxstore/partner"
"git.rosy.net.cn/jx-callback/business/jxstore/event"
"strings"
"time"
"git.rosy.net.cn/jx-callback/business/auth2"
@@ -188,16 +189,11 @@ func GetManageStatisticsJob(ctx *jxcontext.Context, cityCodes []int, fromTime, t
return dao.GetManageStatisticsJob(db, cityCodes, utils.Str2Time(fromTime), utils.Str2Time(toTime), jobIDs, offset, pageSize)
}
func UnionOrderCallBack(unionOrder *partner.UnionOrderInfo) (err error) {
globals.SugarLogger.Debugf("UnionOrderCallBack unionOrder: %v", utils.Format4Output(unionOrder, true))
func NewUnionOrder(unionOrder *model.UnionOrder, orderStatus *model.UnionOrderStatus) (err error) {
var (
db = dao.GetDB()
db = dao.GetDB()
userID string
)
if unionOrder.SID == "" {
return err
}
mobile := unionOrder.SID[:11]
jobID := unionOrder.SID[11:]
txDB, _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
@@ -205,31 +201,76 @@ func UnionOrderCallBack(unionOrder *partner.UnionOrderInfo) (err error) {
panic(r)
}
}()
user, err := dao.GetUserByID(db, "mobile", mobile)
userBinds, err := dao.GetUserUnionBind(db, "", unionOrder.VendorID, unionOrder.PID)
if err != nil {
dao.Rollback(db, txDB)
return err
}
userBill, err := dao.GetUserBill(db, user.UserID, "")
if userBill == nil {
return fmt.Errorf("未查询到该用户的账单!")
if len(userBinds) == 0 {
userID = unionOrder.PID
} else {
userID = userBinds[0].UserID
}
if err = financial.AddIncomeUpdateAccount(txDB, userBill, model.BillTypeUnionShare, int(unionOrder.Profit), utils.Str2Int(jobID)); err != nil {
unionOrder.UserID = userID
dao.WrapAddIDCULEntity(unionOrder, jxcontext.AdminCtx.GetUserName())
if err = dao.CreateEntityTx(txDB, unionOrder); err != nil {
dao.Rollback(db, txDB)
return err
}
if err = dao.CreateEntityTx(txDB, orderStatus); err != nil {
dao.Rollback(db, txDB)
return err
}
dao.Commit(db, txDB)
//发消息
if err == nil {
orderMessage(unionOrder)
}
return err
}
func NewUnionOrderStatus() (err error) {
func ChangeUnionOrder(unionOrder *model.UnionOrder, orderStatus *model.UnionOrderStatus) (err error) {
var (
db = dao.GetDB()
)
txDB, _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db, txDB)
panic(r)
}
}()
unionOrder.Status = orderStatus.Status
if _, err = dao.UpdateEntityTx(txDB, unionOrder, "Status"); err != nil {
dao.Rollback(db, txDB)
return err
}
if err = dao.CreateEntityTx(txDB, orderStatus); err != nil {
dao.Rollback(db, txDB)
return err
}
dao.Commit(db, txDB)
//发消息
if err == nil {
orderMessage(unionOrder)
}
return err
}
func NewUnionOrder() (err error) {
return err
func orderMessage(unionOrder *model.UnionOrder) {
content := new(strings.Builder)
content.WriteString("您有[")
content.WriteString(model.VendorChineseNames[unionOrder.VendorID])
content.WriteString("]平台的推广订单:")
content.WriteString(unionOrder.VendorOrderID)
content.WriteString("。")
content.WriteString(model.UnionOrderStatusName[unionOrder.Status])
content.WriteString("。预计返佣:")
content.WriteString(jxutils.IntPrice2StandardString(int64(unionOrder.PromotionAmount)))
content.WriteString("元。")
event.SendSysMessageSimple(content.String(), unionOrder.UserID)
}
func ChangeUnionOrder() (err error) {
return err
func GetMyUnionOrders(ctx *jxcontext.Context, statuss []int, vendorID, offset, pageSize int) (page *model.PagedInfo, err error) {
return dao.GetMyUnionOrders(dao.GetDB(), ctx.GetUserID(), statuss, vendorID, offset, pageSize)
}