123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- package logic
- import (
- "context"
- "errors"
- "fmt"
- "git.i2edu.net/i2/i2-bill-erp/internal/svc"
- "git.i2edu.net/i2/i2-bill-erp/transform"
- "git.i2edu.net/i2/go-zero/core/logx"
- )
- type GetErpRoleLogic struct {
- ctx context.Context
- svcCtx *svc.ServiceContext
- logx.Logger
- }
- func NewGetErpRoleLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetErpRoleLogic {
- return &GetErpRoleLogic{
- ctx: ctx,
- svcCtx: svcCtx,
- Logger: logx.WithContext(ctx),
- }
- }
- // 获取 erp 用户角色
- func (l *GetErpRoleLogic) GetErpRole(in *transform.GetErpRoleReq) (*transform.GetErpRoleRes, error) {
- // todo: add your logic here and delete this line
- if in.Mobile == "" && in.UserId == "" {
- return nil, errors.New("mobile and user_id is empty")
- }
- sql := `select
- sys_user.id user_id,GROUP_CONCAT(sys_role.code) role,sys_user_school.os_id sch_id,sys_user.mobile
- from
- sys_user
- LEFT JOIN
- sys_user_role on sys_user.id=sys_user_role.user_id
- LEFT JOIN sys_role on sys_user_role.role_id= sys_role.id
- LEFT JOIN sys_user_school on sys_user_school.user_id = sys_user.id
- where
- sys_user_role.del_flag =0 and sys_user.status = 0 and sys_user.del_flag = 0 %s GROUP BY sys_user.mobile`
- var args string
- if in.Mobile != "" {
- args = in.Mobile
- sql = fmt.Sprintf(sql, " and sys_user.mobile = ? ")
- }
- if in.UserId != "" {
- args = in.UserId
- sql = fmt.Sprintf(sql, " and sys_user.id = ? ")
- }
- result, err := l.svcCtx.DB.SQL(sql, args).Query().List()
- if err != nil {
- return nil, err
- }
- if len(result) == 0 {
- return &transform.GetErpRoleRes{}, nil
- }
- user_id, _ := result[0]["user_id"].(string)
- role, _ := result[0]["role"].(string)
- sch_id, _ := result[0]["sch_id"].(int64)
- return &transform.GetErpRoleRes{UserId: user_id, Role: role, SchId: sch_id}, nil
- }
|