添加文件: xy_sh/internal/service/service.go
This commit is contained in:
parent
4dc65eab11
commit
0aba5c1b59
|
|
@ -0,0 +1,70 @@
|
||||||
|
package service
|
||||||
|
|
||||||
|
import (
|
||||||
|
"log"
|
||||||
|
|
||||||
|
"github.com/gofiber/fiber/v2"
|
||||||
|
|
||||||
|
"xy_sh/internal/biz"
|
||||||
|
"xy_sh/internal/entities"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Service HTTP服务层
|
||||||
|
type Service struct {
|
||||||
|
biz *biz.Biz
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewService 创建服务实例
|
||||||
|
func NewService(biz *biz.Biz) *Service {
|
||||||
|
return &Service{biz: biz}
|
||||||
|
}
|
||||||
|
|
||||||
|
// HandleOrderCreate 卡券/直充权益下单接口
|
||||||
|
func (s *Service) HandleOrderCreate(c *fiber.Ctx) error {
|
||||||
|
// 解析请求体
|
||||||
|
var req entities.EncryptedRequest
|
||||||
|
if err := c.BodyParser(&req); err != nil {
|
||||||
|
log.Printf("[服务] 请求体解析失败: %v", err)
|
||||||
|
return c.Status(fiber.StatusBadRequest).JSON(entities.ApiResponse{
|
||||||
|
Code: -1,
|
||||||
|
Msg: "请求体解析失败",
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 解密业务参数
|
||||||
|
var bizReq entities.OrderCreateRequest
|
||||||
|
if err := s.biz.DecryptRequest(req.EncryptedData, &bizReq); err != nil {
|
||||||
|
log.Printf("[服务] 解密业务参数失败: %v", err)
|
||||||
|
return c.JSON(entities.ApiResponse{
|
||||||
|
Code: -1,
|
||||||
|
Msg: "解密业务参数失败: " + err.Error(),
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 调用业务逻辑
|
||||||
|
bizResp, err := s.biz.CreateOrder(&bizReq)
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("[服务] 下单失败: %v", err)
|
||||||
|
return c.JSON(entities.ApiResponse{
|
||||||
|
Code: -1,
|
||||||
|
Msg: err.Error(),
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 加密响应业务数据
|
||||||
|
encryptedData, err := s.biz.EncryptResponse(bizResp)
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("[服务] 加密响应数据失败: %v", err)
|
||||||
|
return c.JSON(entities.ApiResponse{
|
||||||
|
Code: -1,
|
||||||
|
Msg: "加密响应数据失败",
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
log.Printf("[服务] 下单成功: orderNo=%s", bizResp.OrderNo)
|
||||||
|
return c.JSON(entities.ApiResponse{
|
||||||
|
Code: 0,
|
||||||
|
Msg: "请求成功",
|
||||||
|
Data: encryptedData,
|
||||||
|
})
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue