f
This commit is contained in:
@@ -2,12 +2,16 @@ package admin_order
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/hex"
|
||||
"strings"
|
||||
"sync"
|
||||
|
||||
"ycc-server/app/main/api/internal/svc"
|
||||
"ycc-server/app/main/api/internal/types"
|
||||
"ycc-server/app/main/model"
|
||||
"ycc-server/common/globalkey"
|
||||
"ycc-server/common/xerr"
|
||||
"ycc-server/pkg/lzkit/crypto"
|
||||
|
||||
"github.com/Masterminds/squirrel"
|
||||
"github.com/pkg/errors"
|
||||
@@ -72,6 +76,44 @@ func (l *AdminGetOrderListLogic) AdminGetOrderList(req *types.AdminGetOrderListR
|
||||
if req.RefundTimeEnd != "" {
|
||||
builder = builder.Where("refund_time <= ?", req.RefundTimeEnd)
|
||||
}
|
||||
if req.QuerySubjectName != "" || req.QuerySubjectMobile != "" || req.QuerySubjectIdCard != "" {
|
||||
key, decodeErr := hex.DecodeString(l.svcCtx.Config.Encrypt.SecretKey)
|
||||
if decodeErr != nil {
|
||||
return nil, errors.Wrapf(xerr.NewErrCode(xerr.SERVER_COMMON_ERROR),
|
||||
"AdminGetOrderList, AES密钥解析失败 err: %v", decodeErr)
|
||||
}
|
||||
conds := []string{"del_state = ?"}
|
||||
args := []interface{}{globalkey.DelStateNo}
|
||||
if req.QuerySubjectName != "" {
|
||||
enc, _, encErr := crypto.EncryptDeterministicOptional(req.QuerySubjectName, key)
|
||||
if encErr != nil {
|
||||
return nil, errors.Wrapf(xerr.NewErrCode(xerr.SERVER_COMMON_ERROR),
|
||||
"AdminGetOrderList, 加密筛选姓名失败 err: %v", encErr)
|
||||
}
|
||||
conds = append(conds, "enc_real_name = ?")
|
||||
args = append(args, enc)
|
||||
}
|
||||
if req.QuerySubjectMobile != "" {
|
||||
enc, encErr := crypto.EncryptMobile(req.QuerySubjectMobile, l.svcCtx.Config.Encrypt.SecretKey)
|
||||
if encErr != nil {
|
||||
return nil, errors.Wrapf(xerr.NewErrCode(xerr.SERVER_COMMON_ERROR),
|
||||
"AdminGetOrderList, 加密筛选手机号失败 err: %v", encErr)
|
||||
}
|
||||
conds = append(conds, "enc_mobile = ?")
|
||||
args = append(args, enc)
|
||||
}
|
||||
if req.QuerySubjectIdCard != "" {
|
||||
enc, encErr := crypto.EncryptIDCard(req.QuerySubjectIdCard, key)
|
||||
if encErr != nil {
|
||||
return nil, errors.Wrapf(xerr.NewErrCode(xerr.SERVER_COMMON_ERROR),
|
||||
"AdminGetOrderList, 加密筛选身份证失败 err: %v", encErr)
|
||||
}
|
||||
conds = append(conds, "enc_id_card = ?")
|
||||
args = append(args, enc)
|
||||
}
|
||||
subSQL := "id IN (SELECT order_id FROM query_subject_index WHERE " + strings.Join(conds, " AND ") + ")"
|
||||
builder = builder.Where(subSQL, args...)
|
||||
}
|
||||
|
||||
// 并发获取总数和列表
|
||||
var total int64
|
||||
|
||||
Reference in New Issue
Block a user