待提现
This commit is contained in:
@@ -488,6 +488,7 @@ func AuditJob(ctx *jxcontext.Context, jobOrderID, status int, comment string) (e
|
||||
jobOrder.Comment = comment
|
||||
jobOrder.AuditAt = time.Now()
|
||||
jobOrder.LastOperator = ctx.GetUserName()
|
||||
userBillJobOrder, err := dao.GetUserBill(db, jobOrder.UserID, "")
|
||||
dao.Begin(db)
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
@@ -507,23 +508,30 @@ func AuditJob(ctx *jxcontext.Context, jobOrderID, status int, comment string) (e
|
||||
} else if len(messageGroupMembers) == 1 {
|
||||
if messageGroupsResult, err := dao.GetMessageGroups(db, "", messageGroupMembers[0].GroupID, model.GroupTypeMulit, false, ""); err == nil {
|
||||
if len(messageGroupsResult) == 1 {
|
||||
if userBillGroupMaster, err := dao.GetUserBill(db, messageGroupsResult[0].UserID, ""); err == nil {
|
||||
if err = financial.AddIncomeUpdateAccount(db, userBillGroupMaster, model.BillTypeDivide, job.AvgPrice*messageGroupsResult[0].DividePercentage/100); err != nil {
|
||||
//不分成
|
||||
if messageGroupsResult[0].DividePercentage != 0 {
|
||||
if userBillGroupMaster, err := dao.GetUserBill(db, messageGroupsResult[0].UserID, ""); err == nil {
|
||||
if err = financial.AddIncomeUpdateAccount(db, userBillGroupMaster, model.BillTypeDivide, job.AvgPrice*messageGroupsResult[0].DividePercentage/100); err != nil {
|
||||
dao.Rollback(db)
|
||||
return err
|
||||
}
|
||||
}
|
||||
//接收人账户收入
|
||||
if err = financial.AddIncomeUpdateAccount(db, userBillJobOrder, model.BillTypeJobDivide, job.AvgPrice*(100-messageGroupsResult[0].DividePercentage)/100); err != nil {
|
||||
dao.Rollback(db)
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
//接收人账户收入
|
||||
if err = financial.AddIncomeUpdateAccount(db, userBillJobOrder, model.BillTypeJob, job.AvgPrice); err != nil {
|
||||
dao.Rollback(db)
|
||||
return err
|
||||
}
|
||||
}
|
||||
//接收人账户收入
|
||||
userBillJobOrder, err := dao.GetUserBill(db, jobOrder.UserID, "")
|
||||
if err = financial.AddIncomeUpdateAccount(db, userBillJobOrder, model.BillTypeJobDivide, job.AvgPrice*(100-messageGroupsResult[0].DividePercentage)/100); err != nil {
|
||||
dao.Rollback(db)
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if len(messageGroupMembers) == 0 { //若没有在某个群组,则得到全部
|
||||
//接收人账户收入
|
||||
userBillJobOrder, err := dao.GetUserBill(db, jobOrder.UserID, "")
|
||||
if err = financial.AddIncomeUpdateAccount(db, userBillJobOrder, model.BillTypeJob, job.AvgPrice); err != nil {
|
||||
dao.Rollback(db)
|
||||
return err
|
||||
|
||||
@@ -496,6 +496,9 @@ func GetSelfInfo(ctx *jxcontext.Context) (getSelfInfoResult *dao.GetSelfInfoResu
|
||||
} else {
|
||||
err = err3
|
||||
}
|
||||
if price, err := dao.GetUserAllWaitCashPrice(dao.GetDB(), getSelfInfoResult.User.UserID); err == nil {
|
||||
getSelfInfoResult.WaitCashPrice = price
|
||||
}
|
||||
}
|
||||
}
|
||||
return getSelfInfoResult, err
|
||||
|
||||
@@ -21,7 +21,8 @@ type UserDeliveryAddressEx struct {
|
||||
type GetSelfInfoResult struct {
|
||||
model.User
|
||||
model.UserBill
|
||||
UserMembers []*model.UserMember `json:"userMembers"`
|
||||
WaitCashPrice int `json:"waitCashPrice"`
|
||||
UserMembers []*model.UserMember `json:"userMembers"`
|
||||
}
|
||||
|
||||
func GetUserByID(db *DaoDB, fieldName, fieldValue string) (user *model.User, err error) {
|
||||
@@ -232,3 +233,28 @@ func GetUserMember(db *DaoDB, userID string, memberType int) (userMembers []*mod
|
||||
err = GetRows(db, &userMembers, sql, sqlParams)
|
||||
return userMembers, err
|
||||
}
|
||||
|
||||
type GetUserAllWaitCashPriceResult struct {
|
||||
UserID string `orm:"column(user_id)" json:"userID"`
|
||||
Price int `json:"price"`
|
||||
}
|
||||
|
||||
func GetUserAllWaitCashPrice(db *DaoDB, userID string) (price int, err error) {
|
||||
var result = &GetUserAllWaitCashPriceResult{}
|
||||
sql := `
|
||||
SELECT SUM(IF(d.id IS NOT NULL, IF(d.divide_percentage = 0, b.avg_price, b.avg_price*(100-d.divide_percentage)/100),b.avg_price)) price, a.user_id
|
||||
FROM job_order a
|
||||
JOIN job b ON a.job_id = b.id
|
||||
LEFT JOIN message_group_member c ON a.user_id = c.member_user_id
|
||||
LEFT JOIN message_group d ON d.group_id = c.group_id AND d.type = ?
|
||||
WHERE a.user_id = ?
|
||||
AND a.status = ?
|
||||
`
|
||||
sqlParams := []interface{}{
|
||||
model.GroupTypeMulit,
|
||||
userID,
|
||||
model.JobOrderStatusWaitAudit,
|
||||
}
|
||||
err = GetRow(db, &result, sql, sqlParams)
|
||||
return result.Price, err
|
||||
}
|
||||
|
||||
@@ -246,7 +246,7 @@ func GetMessageGroupMembers(db *DaoDB, groupID, groupType int, memberUserID stri
|
||||
FROM message_group_member a
|
||||
`
|
||||
if groupType != 0 {
|
||||
sql += ` JOIN message_group b ON b.group_id = a.group_id AND b.group_type = ?`
|
||||
sql += ` JOIN message_group b ON b.group_id = a.group_id AND b.type = ?`
|
||||
sqlParams = append(sqlParams, groupType)
|
||||
}
|
||||
sql += `
|
||||
|
||||
Reference in New Issue
Block a user