待提现
This commit is contained in:
@@ -488,6 +488,7 @@ func AuditJob(ctx *jxcontext.Context, jobOrderID, status int, comment string) (e
|
|||||||
jobOrder.Comment = comment
|
jobOrder.Comment = comment
|
||||||
jobOrder.AuditAt = time.Now()
|
jobOrder.AuditAt = time.Now()
|
||||||
jobOrder.LastOperator = ctx.GetUserName()
|
jobOrder.LastOperator = ctx.GetUserName()
|
||||||
|
userBillJobOrder, err := dao.GetUserBill(db, jobOrder.UserID, "")
|
||||||
dao.Begin(db)
|
dao.Begin(db)
|
||||||
defer func() {
|
defer func() {
|
||||||
if r := recover(); r != nil {
|
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 {
|
} else if len(messageGroupMembers) == 1 {
|
||||||
if messageGroupsResult, err := dao.GetMessageGroups(db, "", messageGroupMembers[0].GroupID, model.GroupTypeMulit, false, ""); err == nil {
|
if messageGroupsResult, err := dao.GetMessageGroups(db, "", messageGroupMembers[0].GroupID, model.GroupTypeMulit, false, ""); err == nil {
|
||||||
if len(messageGroupsResult) == 1 {
|
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)
|
dao.Rollback(db)
|
||||||
return err
|
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 { //若没有在某个群组,则得到全部
|
} else if len(messageGroupMembers) == 0 { //若没有在某个群组,则得到全部
|
||||||
//接收人账户收入
|
//接收人账户收入
|
||||||
userBillJobOrder, err := dao.GetUserBill(db, jobOrder.UserID, "")
|
|
||||||
if err = financial.AddIncomeUpdateAccount(db, userBillJobOrder, model.BillTypeJob, job.AvgPrice); err != nil {
|
if err = financial.AddIncomeUpdateAccount(db, userBillJobOrder, model.BillTypeJob, job.AvgPrice); err != nil {
|
||||||
dao.Rollback(db)
|
dao.Rollback(db)
|
||||||
return err
|
return err
|
||||||
|
|||||||
@@ -496,6 +496,9 @@ func GetSelfInfo(ctx *jxcontext.Context) (getSelfInfoResult *dao.GetSelfInfoResu
|
|||||||
} else {
|
} else {
|
||||||
err = err3
|
err = err3
|
||||||
}
|
}
|
||||||
|
if price, err := dao.GetUserAllWaitCashPrice(dao.GetDB(), getSelfInfoResult.User.UserID); err == nil {
|
||||||
|
getSelfInfoResult.WaitCashPrice = price
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return getSelfInfoResult, err
|
return getSelfInfoResult, err
|
||||||
|
|||||||
@@ -21,7 +21,8 @@ type UserDeliveryAddressEx struct {
|
|||||||
type GetSelfInfoResult struct {
|
type GetSelfInfoResult struct {
|
||||||
model.User
|
model.User
|
||||||
model.UserBill
|
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) {
|
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)
|
err = GetRows(db, &userMembers, sql, sqlParams)
|
||||||
return userMembers, err
|
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
|
FROM message_group_member a
|
||||||
`
|
`
|
||||||
if groupType != 0 {
|
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)
|
sqlParams = append(sqlParams, groupType)
|
||||||
}
|
}
|
||||||
sql += `
|
sql += `
|
||||||
|
|||||||
Reference in New Issue
Block a user