fix Category
add flxg5b2e add flxg8a3f add ivyz1c9d add ivyz4e8b add ivyz7f2a
This commit is contained in:
@@ -168,6 +168,34 @@ type IVYZ9A2BReq struct {
|
|||||||
Name string `json:"name" validate:"required,min=1,validName"`
|
Name string `json:"name" validate:"required,min=1,validName"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type IVYZ7F2AReq struct {
|
||||||
|
ManName string `json:"man_name" validate:"required,min=1,validName"`
|
||||||
|
ManIDCard string `json:"man_id_card" validate:"required,validIDCard"`
|
||||||
|
WomanName string `json:"woman_name" validate:"required,min=1,validName"`
|
||||||
|
WomanIDCard string `json:"woman_id_card" validate:"required,validIDCard"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type IVYZ4E8BReq struct {
|
||||||
|
IDCard string `json:"id_card" validate:"required,validIDCard"`
|
||||||
|
Name string `json:"name" validate:"required,min=1,validName"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type IVYZ1C9DReq struct {
|
||||||
|
IDCard string `json:"id_card" validate:"required,validIDCard"`
|
||||||
|
Name string `json:"name" validate:"required,min=1,validName"`
|
||||||
|
Years int64 `json:"years" validate:"omitempty,min=0,max=100"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type FLXG8A3FReq struct {
|
||||||
|
IDCard string `json:"id_card" validate:"required,validIDCard"`
|
||||||
|
Name string `json:"name" validate:"required,min=1,validName"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type FLXG5B2EReq struct {
|
||||||
|
IDCard string `json:"id_card" validate:"required,validIDCard"`
|
||||||
|
Name string `json:"name" validate:"required,min=1,validName"`
|
||||||
|
}
|
||||||
|
|
||||||
type COMB298YReq struct {
|
type COMB298YReq struct {
|
||||||
IDCard string `json:"id_card" validate:"required,validIDCard"`
|
IDCard string `json:"id_card" validate:"required,validIDCard"`
|
||||||
Name string `json:"name" validate:"required,min=1,validName"`
|
Name string `json:"name" validate:"required,min=1,validName"`
|
||||||
|
|||||||
@@ -79,6 +79,8 @@ func registerAllProcessors(combService *comb.CombService) {
|
|||||||
"FLXGC9D1": flxg.ProcessFLXGC9D1Request,
|
"FLXGC9D1": flxg.ProcessFLXGC9D1Request,
|
||||||
"FLXGCA3D": flxg.ProcessFLXGCA3DRequest,
|
"FLXGCA3D": flxg.ProcessFLXGCA3DRequest,
|
||||||
"FLXGDEC7": flxg.ProcessFLXGDEC7Request,
|
"FLXGDEC7": flxg.ProcessFLXGDEC7Request,
|
||||||
|
"FLXG8A3F": flxg.ProcessFLXG8A3FRequest,
|
||||||
|
"FLXG5B2E": flxg.ProcessFLXG5B2ERequest,
|
||||||
|
|
||||||
// JRZQ系列处理器
|
// JRZQ系列处理器
|
||||||
"JRZQ8203": jrzq.ProcessJRZQ8203Request,
|
"JRZQ8203": jrzq.ProcessJRZQ8203Request,
|
||||||
@@ -112,6 +114,9 @@ func registerAllProcessors(combService *comb.CombService) {
|
|||||||
"IVYZ9363": ivyz.ProcessIVYZ9363Request,
|
"IVYZ9363": ivyz.ProcessIVYZ9363Request,
|
||||||
"IVYZ9A2B": ivyz.ProcessIVYZ9A2BRequest,
|
"IVYZ9A2B": ivyz.ProcessIVYZ9A2BRequest,
|
||||||
"IVYZADEE": ivyz.ProcessIVYZADEERequest,
|
"IVYZADEE": ivyz.ProcessIVYZADEERequest,
|
||||||
|
"IVYZ7F2A": ivyz.ProcessIVYZ7F2ARequest,
|
||||||
|
"IVYZ4E8B": ivyz.ProcessIVYZ4E8BRequest,
|
||||||
|
"IVYZ1C9D": ivyz.ProcessIVYZ1C9DRequest,
|
||||||
|
|
||||||
// COMB系列处理器
|
// COMB系列处理器
|
||||||
"COMB298Y": comb.ProcessCOMB298YRequest,
|
"COMB298Y": comb.ProcessCOMB298YRequest,
|
||||||
|
|||||||
@@ -0,0 +1,51 @@
|
|||||||
|
package flxg
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"encoding/json"
|
||||||
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"tyapi-server/internal/domains/api/dto"
|
||||||
|
"tyapi-server/internal/domains/api/services/processors"
|
||||||
|
"tyapi-server/internal/infrastructure/external/westdex"
|
||||||
|
)
|
||||||
|
|
||||||
|
// ProcessFLXG5B2ERequest FLXG5B2E API处理方法
|
||||||
|
func ProcessFLXG5B2ERequest(ctx context.Context, params []byte, deps *processors.ProcessorDependencies) ([]byte, error) {
|
||||||
|
var paramsDto dto.FLXG5B2EReq
|
||||||
|
if err := json.Unmarshal(params, ¶msDto); err != nil {
|
||||||
|
return nil, fmt.Errorf("%s: %w", processors.ErrSystem, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := deps.Validator.ValidateStruct(paramsDto); err != nil {
|
||||||
|
return nil, fmt.Errorf("%s: %w", processors.ErrInvalidParam, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
encryptedName, err := deps.WestDexService.Encrypt(paramsDto.Name)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("%s: %w", processors.ErrSystem, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
encryptedIDCard, err := deps.WestDexService.Encrypt(paramsDto.IDCard)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("%s: %w", processors.ErrSystem, err)
|
||||||
|
}
|
||||||
|
reqData := map[string]interface{}{
|
||||||
|
"data": map[string]interface{}{
|
||||||
|
"name": encryptedName,
|
||||||
|
"idcard": encryptedIDCard,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
respBytes, err := deps.WestDexService.CallAPI("G36SC01", reqData)
|
||||||
|
if err != nil {
|
||||||
|
if errors.Is(err, westdex.ErrDatasource) {
|
||||||
|
return nil, fmt.Errorf("%s: %w", processors.ErrDatasource, err)
|
||||||
|
} else {
|
||||||
|
return nil, fmt.Errorf("%s: %w", processors.ErrSystem, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return respBytes, nil
|
||||||
|
}
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
package flxg
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"encoding/json"
|
||||||
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"tyapi-server/internal/domains/api/dto"
|
||||||
|
"tyapi-server/internal/domains/api/services/processors"
|
||||||
|
"tyapi-server/internal/infrastructure/external/westdex"
|
||||||
|
)
|
||||||
|
|
||||||
|
// ProcessFLXG8A3FRequest FLXG8A3F API处理方法
|
||||||
|
func ProcessFLXG8A3FRequest(ctx context.Context, params []byte, deps *processors.ProcessorDependencies) ([]byte, error) {
|
||||||
|
var paramsDto dto.FLXG8A3FReq
|
||||||
|
if err := json.Unmarshal(params, ¶msDto); err != nil {
|
||||||
|
return nil, fmt.Errorf("%s: %w", processors.ErrSystem, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := deps.Validator.ValidateStruct(paramsDto); err != nil {
|
||||||
|
return nil, fmt.Errorf("%s: %w", processors.ErrInvalidParam, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
encryptedName, err := deps.WestDexService.Encrypt(paramsDto.Name)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("%s: %w", processors.ErrSystem, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
encryptedIDCard, err := deps.WestDexService.Encrypt(paramsDto.IDCard)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("%s: %w", processors.ErrSystem, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
reqData := map[string]interface{}{
|
||||||
|
"data": map[string]interface{}{
|
||||||
|
"name": encryptedName,
|
||||||
|
"idcard": encryptedIDCard,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
respBytes, err := deps.WestDexService.CallAPI("G36SC01", reqData)
|
||||||
|
if err != nil {
|
||||||
|
if errors.Is(err, westdex.ErrDatasource) {
|
||||||
|
return nil, fmt.Errorf("%s: %w", processors.ErrDatasource, err)
|
||||||
|
} else {
|
||||||
|
return nil, fmt.Errorf("%s: %w", processors.ErrSystem, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return respBytes, nil
|
||||||
|
}
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
package ivyz
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"encoding/json"
|
||||||
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"tyapi-server/internal/domains/api/dto"
|
||||||
|
"tyapi-server/internal/domains/api/services/processors"
|
||||||
|
"tyapi-server/internal/infrastructure/external/westdex"
|
||||||
|
)
|
||||||
|
|
||||||
|
// ProcessIVYZ1C9DRequest IVYZ1C9D API处理方法
|
||||||
|
func ProcessIVYZ1C9DRequest(ctx context.Context, params []byte, deps *processors.ProcessorDependencies) ([]byte, error) {
|
||||||
|
var paramsDto dto.IVYZ1C9DReq
|
||||||
|
if err := json.Unmarshal(params, ¶msDto); err != nil {
|
||||||
|
return nil, fmt.Errorf("%s: %w", processors.ErrSystem, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := deps.Validator.ValidateStruct(paramsDto); err != nil {
|
||||||
|
return nil, fmt.Errorf("%s: %w", processors.ErrInvalidParam, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
encryptedName, err := deps.WestDexService.Encrypt(paramsDto.Name)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("%s: %w", processors.ErrSystem, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
encryptedIDCard, err := deps.WestDexService.Encrypt(paramsDto.IDCard)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("%s: %w", processors.ErrSystem, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
reqData := map[string]interface{}{
|
||||||
|
"data": map[string]interface{}{
|
||||||
|
"xm": encryptedName,
|
||||||
|
"sfzh": encryptedIDCard,
|
||||||
|
"yearNum": paramsDto.Years,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
respBytes, err := deps.WestDexService.CallAPI("G38SC02", reqData)
|
||||||
|
if err != nil {
|
||||||
|
if errors.Is(err, westdex.ErrDatasource) {
|
||||||
|
return nil, fmt.Errorf("%s: %w", processors.ErrDatasource, err)
|
||||||
|
} else {
|
||||||
|
return nil, fmt.Errorf("%s: %w", processors.ErrSystem, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return respBytes, nil
|
||||||
|
}
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
package ivyz
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"encoding/json"
|
||||||
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"tyapi-server/internal/domains/api/dto"
|
||||||
|
"tyapi-server/internal/domains/api/services/processors"
|
||||||
|
"tyapi-server/internal/infrastructure/external/westdex"
|
||||||
|
)
|
||||||
|
|
||||||
|
// ProcessIVYZ4E8BRequest IVYZ4E8B API处理方法
|
||||||
|
func ProcessIVYZ4E8BRequest(ctx context.Context, params []byte, deps *processors.ProcessorDependencies) ([]byte, error) {
|
||||||
|
var paramsDto dto.IVYZ4E8BReq
|
||||||
|
if err := json.Unmarshal(params, ¶msDto); err != nil {
|
||||||
|
return nil, fmt.Errorf("%s: %w", processors.ErrSystem, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := deps.Validator.ValidateStruct(paramsDto); err != nil {
|
||||||
|
return nil, fmt.Errorf("%s: %w", processors.ErrInvalidParam, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
encryptedName, err := deps.WestDexService.Encrypt(paramsDto.Name)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("%s: %w", processors.ErrSystem, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
encryptedIDCard, err := deps.WestDexService.Encrypt(paramsDto.IDCard)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("%s: %w", processors.ErrSystem, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
reqData := map[string]interface{}{
|
||||||
|
"data": map[string]interface{}{
|
||||||
|
"name": encryptedName,
|
||||||
|
"idNo": encryptedIDCard,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
respBytes, err := deps.WestDexService.CallAPI("G09GZ02", reqData)
|
||||||
|
if err != nil {
|
||||||
|
if errors.Is(err, westdex.ErrDatasource) {
|
||||||
|
return nil, fmt.Errorf("%s: %w", processors.ErrDatasource, err)
|
||||||
|
} else {
|
||||||
|
return nil, fmt.Errorf("%s: %w", processors.ErrSystem, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return respBytes, nil
|
||||||
|
}
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
package ivyz
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"encoding/json"
|
||||||
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"tyapi-server/internal/domains/api/dto"
|
||||||
|
"tyapi-server/internal/domains/api/services/processors"
|
||||||
|
"tyapi-server/internal/infrastructure/external/westdex"
|
||||||
|
)
|
||||||
|
|
||||||
|
// ProcessIVYZ7F2ARequest IVYZ7F2A API处理方法
|
||||||
|
func ProcessIVYZ7F2ARequest(ctx context.Context, params []byte, deps *processors.ProcessorDependencies) ([]byte, error) {
|
||||||
|
var paramsDto dto.IVYZ7F2AReq
|
||||||
|
if err := json.Unmarshal(params, ¶msDto); err != nil {
|
||||||
|
return nil, fmt.Errorf("%s: %w", processors.ErrSystem, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := deps.Validator.ValidateStruct(paramsDto); err != nil {
|
||||||
|
return nil, fmt.Errorf("%s: %w", processors.ErrInvalidParam, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
encryptedManName, err := deps.WestDexService.Encrypt(paramsDto.ManName)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("%s: %w", processors.ErrSystem, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
encryptedManIDCard, err := deps.WestDexService.Encrypt(paramsDto.ManIDCard)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("%s: %w", processors.ErrSystem, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
encryptedWomanName, err := deps.WestDexService.Encrypt(paramsDto.WomanName)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("%s: %w", processors.ErrSystem, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
encryptedWomanIDCard, err := deps.WestDexService.Encrypt(paramsDto.WomanIDCard)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("%s: %w", processors.ErrSystem, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
reqData := map[string]interface{}{
|
||||||
|
"data": map[string]interface{}{
|
||||||
|
"manName": encryptedManName,
|
||||||
|
"manIdcard": encryptedManIDCard,
|
||||||
|
"womanName": encryptedWomanName,
|
||||||
|
"womanIdcard": encryptedWomanIDCard,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
respBytes, err := deps.WestDexService.CallAPI("G10GZ02", reqData)
|
||||||
|
if err != nil {
|
||||||
|
if errors.Is(err, westdex.ErrDatasource) {
|
||||||
|
return nil, fmt.Errorf("%s: %w", processors.ErrDatasource, err)
|
||||||
|
} else {
|
||||||
|
return nil, fmt.Errorf("%s: %w", processors.ErrSystem, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return respBytes, nil
|
||||||
|
}
|
||||||
@@ -6,6 +6,7 @@ import (
|
|||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
|
"log"
|
||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
"time"
|
"time"
|
||||||
@@ -101,6 +102,7 @@ func (w *WestDexService) CallAPI(code string, reqData map[string]interface{}) (r
|
|||||||
|
|
||||||
// 手动调用 json.Unmarshal 触发自定义的 UnmarshalJSON 方法
|
// 手动调用 json.Unmarshal 触发自定义的 UnmarshalJSON 方法
|
||||||
var westDexResp WestResp
|
var westDexResp WestResp
|
||||||
|
log.Println("westDexResp.ID", westDexResp.ID)
|
||||||
UnmarshalErr := json.Unmarshal(bodyBytes, &westDexResp)
|
UnmarshalErr := json.Unmarshal(bodyBytes, &westDexResp)
|
||||||
if UnmarshalErr != nil {
|
if UnmarshalErr != nil {
|
||||||
return nil, UnmarshalErr
|
return nil, UnmarshalErr
|
||||||
|
|||||||
@@ -190,7 +190,9 @@ func (h *ProductAdminHandler) CreateCategory(c *gin.Context) {
|
|||||||
// @Router /api/v1/admin/product-categories/{id} [put]
|
// @Router /api/v1/admin/product-categories/{id} [put]
|
||||||
func (h *ProductAdminHandler) UpdateCategory(c *gin.Context) {
|
func (h *ProductAdminHandler) UpdateCategory(c *gin.Context) {
|
||||||
var cmd commands.UpdateCategoryCommand
|
var cmd commands.UpdateCategoryCommand
|
||||||
if err := h.validator.ValidateParam(c, &cmd); err != nil {
|
cmd.ID = c.Param("id")
|
||||||
|
if cmd.ID == "" {
|
||||||
|
h.responseBuilder.BadRequest(c, "分类ID不能为空")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if err := h.validator.BindAndValidate(c, &cmd); err != nil {
|
if err := h.validator.BindAndValidate(c, &cmd); err != nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user