temporay up

This commit is contained in:
苏尹岚
2020-02-07 11:46:35 +08:00
parent 96f2734c19
commit 8c602871e8
10 changed files with 346 additions and 1 deletions

View File

@@ -8,6 +8,8 @@ import (
"sync"
"time"
"git.rosy.net.cn/baseapi/platformapi/wxpayapi"
"git.rosy.net.cn/jx-callback/business/partner/purchase/jd"
"git.rosy.net.cn/jx-callback/globals/api/apimanager"
@@ -967,3 +969,85 @@ func WriteToExcelJd(task *tasksch.SeqTask, jd []JdUserStruct) (err error) {
}
return err
}
func UpdateUserWxNoAndPercent(user *model.User, isReceiver bool) (num int64, err error) {
db := dao.GetDB()
user2, err := dao.GetUserByID(db, "user_id", user.UserID)
auth, err := dao.GetUserBindAuthInfo(db, user.UserID, model.AuthBindTypeAuth, []string{"weixinmini"}, "", "")
if len(auth) == 0 {
return 0, fmt.Errorf("未找到此用户的微信验证方式用户ID[%v]\n", user.UserID)
}
dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
if r != nil {
panic(r)
}
}
}()
user2.DividePercentage = user.DividePercentage
num2, err := dao.UpdateEntity(db, user2, "DividePercentage")
num += num2
if err != nil {
dao.Rollback(db)
}
if isReceiver {
param := &wxpayapi.ProfitSharingReceiverParam{
Receiver: wxpayapi.CData(`{
"type":"` + wxpayapi.AccountTypeOpen + `",
"account":"` + auth[0].AuthID + `",
"relation_type":" ` + wxpayapi.Relation + `"
}`),
}
_, err := api.WxpayAPI.AddProfitSharingReceiver(param)
if err != nil {
return 0, err
} else {
user2.IsReceiver = 1
num3, err := dao.UpdateEntity(db, user2, "IsReceiver")
num += num3
if err != nil {
dao.Rollback(db)
}
}
}
dao.Commit(db)
return num, err
}
func DeleteProfitSharingReceiver(ctx *jxcontext.Context, userID string) (err error) {
db := dao.GetDB()
auth, err := dao.GetUserBindAuthInfo(db, userID, model.AuthBindTypeAuth, []string{"weixinmini"}, "", "")
if len(auth) == 0 {
return fmt.Errorf("未找到此用户的微信验证方式用户ID[%v]\n", userID)
}
dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
if r != nil {
panic(r)
}
}
}()
param := &wxpayapi.ProfitSharingReceiverParam{
Receiver: wxpayapi.CData(`{
"type":"` + wxpayapi.AccountTypeOpen + `",
"account":"` + auth[0].AuthID + `"
}`),
}
_, err = api.WxpayAPI.DeleteProfitSharingReceiver(param)
if err != nil {
return err
} else {
user2, err := dao.GetUserByID(db, "user_id", userID)
user2.IsReceiver = 0
_, err = dao.UpdateEntity(db, user2, "IsReceiver")
if err != nil {
dao.Rollback(db)
}
}
dao.Commit(db)
return err
}