fonchain-fiee/pkg/service/approval_cron.go

164 lines
5.7 KiB
Go
Raw Normal View History

2025-02-19 06:24:15 +00:00
package service
import (
"context"
"dubbo.apache.org/dubbo-go/v3/common/logger"
"fmt"
account2 "github.com/fonchain_enterprise/fonchain-main/api/account"
"github.com/fonchain_enterprise/fonchain-main/api/approval"
"github.com/fonchain_enterprise/fonchain-main/pkg/config"
"github.com/fonchain_enterprise/fonchain-main/pkg/e"
"github.com/gin-gonic/gin"
"time"
)
const (
TypePromotion = "promotion"
)
func SendPromotionMsg() {
// 查询 未发送短信 且 已上链完成的 任命审批
listReq := new(approval.ListRequest)
listReq.EffectiveTime = time.Now().Format("2006-01-02")
listReq.Status = e.ApprovalWorkStatusOk
listReq.Type = TypePromotion
list, err := ApprovalProvider.ApprovalList(context.Background(), listReq)
if err != nil {
logger.Error("查询任命审批信息 ApprovalList err", err.Error())
return
}
if list.Count == 0 && len(list.Data) == 0 {
return
}
for i := 0; i < len(list.Data); i++ {
if list.Data[i].Promotion == nil {
continue
}
if list.Data[i].Promotion.IsSend == e.SendPromotionMsgSuccess {
continue
}
if list.Data[i].Promotion.BaiduCertUrl == "" {
continue
}
userInfReq := &account2.InfoRequest{
ID: list.Data[i].Promotion.StaffUID,
}
userInfoRes, err := AccountProvider.Info(context.Background(), userInfReq)
if err != nil {
fmt.Println("============= account info ========== 任命审批 ===============")
fmt.Printf("err : %+v \n", err)
logger.Errorf(" account info ========== 任命审批 err %+v\n", err)
fmt.Println("============= account info ========== 任命审批 ===============")
return
}
updatePromotionReq := &approval.UpdatePromotionReq{
ID: list.Data[i].Promotion.ID,
}
msgReq := account2.SendCustomMsgRequest{
ID: list.Data[i].Promotion.StaffUID,
TelNum: userInfoRes.Info.TelNum,
Url: list.Data[i].Promotion.BaiduCertUrl,
MId: 148561,
SigNo: uint32(config.DefaultSignNo),
}
fmt.Println("发送短信", msgReq)
mres, err := AccountProvider.SendCustomMsg(context.Background(), &msgReq)
fmt.Println("发送短信返回", mres, err)
if err == nil { // 短信发送成功
updatePromotionReq.IsSend = e.SendPromotionMsgSuccess
fmt.Println("============= Promotion updatePromotionReq ========== 任命审批 ===============")
fmt.Printf("updatePromotionReq : %+v \n", updatePromotionReq)
fmt.Println("============= Promotion updatePromotionReq ========== 任命审批 ===============")
_, err = ApprovalProvider.UpdatePromotionChainInfo(context.Background(), updatePromotionReq)
if err != nil {
fmt.Println("============= Promotion update ========== 任命审批 ===============")
fmt.Printf("err : %+v \n", err)
logger.Errorf(" Promotion update ========== 任命审批 err %+v\n", err)
fmt.Println("============= Promotion update ========== 任命审批 ===============")
}
}
}
}
func SendPromotionMsgPost(c *gin.Context) {
// 查询 未发送短信 且 已上链完成的 任命审批
listReq := new(approval.ListRequest)
listReq.EffectiveTime = time.Now().Format("2006-01-02")
listReq.Status = e.ApprovalWorkStatusOk
listReq.Type = TypePromotion
list, err := ApprovalProvider.ApprovalList(context.Background(), listReq)
if err != nil {
logger.Error("查询任命审批信息 ApprovalList err", err.Error())
return
}
if list.Count == 0 && len(list.Data) == 0 {
return
}
fmt.Println("================================= ApprovalList +++++++++++++++++++++++++++++")
for i := 0; i < len(list.Data); i++ {
fmt.Printf("%+v\n", list.Data[i].Promotion)
}
fmt.Println("================================= ApprovalList +++++++++++++++++++++++++++++")
for i := 0; i < len(list.Data); i++ {
if list.Data[i].Promotion == nil {
continue
}
if list.Data[i].Promotion.IsSend == e.SendPromotionMsgSuccess {
continue
}
if list.Data[i].Promotion.BaiduCertUrl == "" {
continue
}
userInfReq := &account2.InfoRequest{
ID: list.Data[i].Promotion.StaffUID,
}
userInfoRes, err := AccountProvider.Info(context.Background(), userInfReq)
if err != nil {
fmt.Println("============= account info ========== 任命审批 ===============")
fmt.Printf("err : %+v \n", err)
logger.Errorf(" account info ========== 任命审批 err %+v\n", err)
fmt.Println("============= account info ========== 任命审批 ===============")
return
}
updatePromotionReq := &approval.UpdatePromotionReq{
ID: list.Data[i].Promotion.ID,
}
msgReq := account2.SendCustomMsgRequest{
ID: list.Data[i].Promotion.StaffUID,
TelNum: userInfoRes.Info.TelNum,
Url: list.Data[i].Promotion.BaiduCertUrl,
MId: 148561,
SigNo: uint32(config.DefaultSignNo),
}
fmt.Println("发送短信", msgReq)
mres, err := AccountProvider.SendCustomMsg(context.Background(), &msgReq)
fmt.Println("发送短信返回", mres, err)
if err == nil { // 短信发送成功
updatePromotionReq.IsSend = e.SendPromotionMsgSuccess
fmt.Println("============= Promotion updatePromotionReq ========== 任命审批 ===============")
fmt.Printf("updatePromotionReq : %+v \n", updatePromotionReq)
fmt.Println("============= Promotion updatePromotionReq ========== 任命审批 ===============")
_, err = ApprovalProvider.UpdatePromotionChainInfo(context.Background(), updatePromotionReq)
if err != nil {
fmt.Println("============= Promotion update ========== 任命审批 ===============")
fmt.Printf("err : %+v \n", err)
logger.Errorf(" Promotion update ========== 任命审批 err %+v\n", err)
fmt.Println("============= Promotion update ========== 任命审批 ===============")
}
}
}
}