12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- package acquirer_mkt_qr
- import (
- "context"
- "encoding/json"
- "git.i2edu.net/i2/i2-bill-api/internal/utils"
- "git.i2edu.net/i2/i2-bill-api/model"
- "net/http"
- "strings"
- "git.i2edu.net/i2/i2-bill-api/internal/svc"
- "git.i2edu.net/i2/i2-bill-api/internal/types"
- "git.i2edu.net/i2/go-zero/core/logx"
- )
- type AcquirerMktQrGetLogic struct {
- logx.Logger
- ctx context.Context
- svcCtx *svc.ServiceContext
- }
- func NewAcquirerMktQrGetLogic(ctx context.Context, svcCtx *svc.ServiceContext) AcquirerMktQrGetLogic {
- return AcquirerMktQrGetLogic{
- Logger: logx.WithContext(ctx),
- ctx: ctx,
- svcCtx: svcCtx,
- }
- }
- func (l *AcquirerMktQrGetLogic) AcquirerMktQrGet(r *http.Request) (*types.Response, error) {
- // todo: add your logic here and delete this line
- userId := l.svcCtx.GetUserIdByJwt(l.ctx)
- erpUser, err := model.GetAcquirePermInfo(userId, l.svcCtx.Transformer, l.svcCtx.DB, l.ctx)
- if err != nil {
- logx.Error(err.Error())
- return &types.Response{500, err.Error(), nil}, nil
- }
- if erpUser == nil || erpUser.UserId == "" {
- return &types.Response{500, "请先申请成为兼职", nil}, nil
- }
- qr, err := model.GetAcquirerMktQr(userId, l.svcCtx.DB)
- if err != nil {
- logx.Error(err.Error())
- return &types.Response{500, err.Error(), nil}, nil
- }
- if qr.Id == 0 {
- return &types.Response{200, "请先编辑收单二维码信息", nil}, nil
- }
- if erpUser.Role != qr.Role {
- return &types.Response{200, "请先重新编辑收单二维码信息", nil}, nil
- }
- qr.Qr = strings.TrimLeft(qr.Qr, "/")
- domain := strings.TrimRight(l.svcCtx.Config.AliYunOss.FileUrl, "/")
- qr.Qr = domain + "/" + qr.Qr
- //渠道
- networkNodes, err := l.svcCtx.GetErpNetworkDetailTree(l.ctx)
- if err != nil {
- logx.Error(err.Error())
- return &types.Response{500, err.Error(), nil}, nil
- }
- var networkId, networkName string
- utils.TreePath(networkNodes, qr.NetworkDetailId, &networkId, &networkName)
- qrByte, _ := json.Marshal(qr)
- var qrMap = make(map[string]interface{})
- json.Unmarshal(qrByte, &qrMap)
- qrMap["qudao_name"] = networkName
- qrMap["qudao_path"] = networkId
- //活动
- active, err := l.svcCtx.GetErpActivity(l.ctx)
- if err != nil {
- logx.Error(err.Error())
- return &types.Response{500, err.Error(), nil}, nil
- }
- qrMap["activity_name"] = utils.GetErpActiveName(qr.ActivityId, active)
- //校区
- schools, err := l.svcCtx.GetErpOrganSchool(l.ctx)
- if err != nil {
- logx.Error(err.Error())
- return &types.Response{500, err.Error(), nil}, nil
- }
- qrMap["school_name"] = utils.GetErpSchoolName(qr.SchoolId, schools)
- return &types.Response{200, "", qrMap}, nil
- }
|