Merge pull request 'feat-IRONFANS-87-Robin' (#372) from feat-IRONFANS-87-Robin into main

Reviewed-on: http://121.41.31.146:3000/wishpal_ironfan/service/pulls/372
This commit is contained in:
chenhao 2024-04-28 22:03:48 +08:00
commit 419e3fb0f3
6 changed files with 49 additions and 19 deletions

View File

@ -95,5 +95,8 @@ const ReservedUserIdRegexesConfig = PackageRootPath + "/etc/mix/resource/reg_res
// H5调用路径
const H5CallUrl = "/api/streamer/list_ext_by_user_id"
// 站外user_id访问zone调用路径
const ZoneListFromOutsideCountCallUrl = "/api/zone/list_by_user_id_from_outside"
// 应用上线时间2024-01-02 14:00:00
const AppEnterProductionTime = 1704175200

View File

@ -94,6 +94,13 @@ func (s *CronService) CreateDailyStatement(ctx context.Context, param *xxl.RunRe
return fmt.Sprintf("query h5 call count fail : %v", err)
}
//获取站外user_id访问zone访问量
zoneListFromOusideCount, err := DefaultScriptsService.QueryCallCount(consts.ZoneListFromOutsideCountCallUrl, logpath)
if err != nil {
logger.Error("query list_by_user_id_from_outside call count fail : %v", err)
return fmt.Sprintf("query list_by_user_id_from_outside call count fail : %v", err)
}
//获取用户总量
accountCount, err := _DefaultAccount.OpCount(&gin.Context{}, &accountproto.OpCountReq{
CtLowerBound: goproto.Int64(int64(consts.AppEnterProductionTime)),
@ -140,6 +147,7 @@ func (s *CronService) CreateDailyStatement(ctx context.Context, param *xxl.RunRe
LastHourNewUserCountFromAndroid: goproto.Int64(androidCount),
LastHourNewUserCountFromIos: goproto.Int64(iosCount),
LastHourNewUserCountFromH5: goproto.Int64(h5Count),
ZoneListFromOutsideCount: goproto.Int64(int64(zoneListFromOusideCount)),
StartTime: goproto.Int64(startTimeStamp),
EndTime: goproto.Int64(endTimeStamp),
}

View File

@ -9,6 +9,7 @@ type DailyStatement struct {
LastHourNewUserCountFromAndroid *int64 `json:"last_hour_new_user_count_from_android" bson:"last_hour_new_user_count_from_android"` // 安卓注册总量
LastHourNewUserCountFromIos *int64 `json:"last_hour_new_user_count_from_ios" bson:"last_hour_new_user_count_from_ios"` // ios注册总量
LastHourNewUserCountFromH5 *int64 `json:"last_hour_new_user_count_from_h5" bson:"last_hour_new_user_count_from_h5"` // h5注册总量
ZoneListFromOutsideCount *int64 `json:"zone_list_from_outside_count" bson:"zone_list_from_outside_count"` // 站外user_id查询空间总量
StartTime *int64 `json:"start_time" bson:"start_time"` // 起始时间
EndTime *int64 `json:"end_time" bson:"end_time"` // 结束时间
Ct *int64 `json:"ct" bson:"ct"` // 创建时间

View File

@ -75,7 +75,7 @@ apollo:
dysmsapi:
access_key_id: "LTAI5tMZEAgdr7ZqHQfBF314"
access_key_secret: "Qd8Sf94841y22vUjAhXCpLTdo2r0ys"
sign_name: "成都心意到了科技"
sign_name: "铁粉空间"
template_code: "SMS_290196756"
imageaudit:

View File

@ -74,7 +74,7 @@ apollo:
dysmsapi:
access_key_id: "LTAI5tMZEAgdr7ZqHQfBF314"
access_key_secret: "Qd8Sf94841y22vUjAhXCpLTdo2r0ys"
sign_name: "成都心意到了科技"
sign_name: "铁粉空间"
template_code: "SMS_290196756"
imageaudit:

View File

@ -48,7 +48,7 @@ func Run(batchId string) (successNum int, failNum int, err error) {
// 2.创建请求
// oss不在上海的服务器需要调用Advance接口
req, err := createScanImageAdvanceRequest(ctrlBlock)
reqs, err := createScanImageAdvanceRequest(ctrlBlock)
if err != nil {
logger.Info("Create Scan ImageRequest fail: %v", err)
handleBatchError(ctrlBlock, err)
@ -60,7 +60,11 @@ func Run(batchId string) (successNum int, failNum int, err error) {
runtime := &teautils.RuntimeOptions{
ConnectTimeout: tea.Int(30000),
}
_result, err := defaultImageAuditClient.ScanImageAdvance(req, runtime)
results := make([]*imageaudit.ScanImageResponseBodyDataResults, 0)
for _, req := range reqs {
var _result *imageaudit.ScanImageResponse
_result, err = defaultImageAuditClient.ScanImageAdvance(req, runtime)
if err != nil {
if _t, ok := err.(*tea.SDKError); ok {
logger.Error("ScanImageAdvance fail, errinfo : %v", util.DerefString(_t.Data))
@ -69,16 +73,18 @@ func Run(batchId string) (successNum int, failNum int, err error) {
failNum = len(imageaudittasks)
return
}
results = append(results, _result.Body.Data.Results...)
logger.Info("Receive the response from ScanImageAdvance: %v", _result.String())
}
// 4.处理应答
err = handleScanImageResponse(ctrlBlock, _result)
err = handleScanImageResponseBodyDataResults(ctrlBlock, results)
successNum = len(imageaudittasks)
return
}
func createScanImageAdvanceRequest(ctrlBlock *ImageAuditTaskBatchControlBlock) (request *imageaudit.ScanImageAdvanceRequest, err error) {
func createScanImageAdvanceRequest(ctrlBlock *ImageAuditTaskBatchControlBlock) (requests []*imageaudit.ScanImageAdvanceRequest, err error) {
httpClient := http.Client{}
imageauditIds := ctrlBlock.ImageAuditIds
reqTasks := make([]*imageaudit.ScanImageAdvanceRequestTask, 0)
@ -90,7 +96,6 @@ func createScanImageAdvanceRequest(ctrlBlock *ImageAuditTaskBatchControlBlock) (
logger.Error("httpClient Get fail : %v", err)
return
}
reqTasks = append(reqTasks, &imageaudit.ScanImageAdvanceRequestTask{
DataId: goproto.String(imageauditIds[i]),
ImageURLObject: file.Body,
@ -101,16 +106,29 @@ func createScanImageAdvanceRequest(ctrlBlock *ImageAuditTaskBatchControlBlock) (
})
}
request = &imageaudit.ScanImageAdvanceRequest{
// 阿里云一次最多审10条将待审图片按10条拆分
requests = make([]*imageaudit.ScanImageAdvanceRequest, 0)
i := 0
for ; i < len(reqTasks)/10; i++ {
request := &imageaudit.ScanImageAdvanceRequest{
Scene: scenes,
Task: reqTasks,
Task: reqTasks[i*10 : (i+1)*10],
}
requests = append(requests, request)
}
if i*10 < len(reqTasks) {
request := &imageaudit.ScanImageAdvanceRequest{
Scene: scenes,
Task: reqTasks[i*10:],
}
requests = append(requests, request)
}
logger.Info("本次打包:%v", reqs)
return
}
func handleScanImageResponse(ctrlBlock *ImageAuditTaskBatchControlBlock, resp *imageaudit.ScanImageResponse) (err error) {
results := resp.Body.Data.Results
func handleScanImageResponseBodyDataResults(ctrlBlock *ImageAuditTaskBatchControlBlock, results []*imageaudit.ScanImageResponseBodyDataResults) (err error) {
taskCtrlBlocks := ctrlBlock.TaskCtrlBlocks
img2taskIndexMap := ctrlBlock.Img2taskIndexMap
actionMap := ctrlBlock.ActionMap