package svc import ( "applet/app/admin/md" "applet/app/db" "applet/app/db/model" "errors" ) func UserList(req md.UserListReq) (resp md.UserListResp, err error) { var m []model.User userDb := db.UserDb{} userDb.Set() sess := userDb.Db.Join("LEFT", "user_identity", "user.id = user_identity.uid"). Join("LEFT", "enterprise", "user_identity.enterprise_id = enterprise.id").Limit(req.Limit, (req.Page-1)*req.Limit) sess.Where("1=1") if req.Phone != "" { sess.And("user.phone like ?", "%"+req.Phone+"%") } if req.Nickname != "" { sess.And("user.nickname like ?", "%"+req.Nickname+"%") } if req.CreateTimeStart != "" { sess.And("user.create_at >= ?", req.CreateTimeStart) } if req.CreateTimeEnd != "" { sess.And("user.create_at <= ?", req.CreateTimeEnd) } resp.Total, err = sess.Desc("user.id").FindAndCount(&m) if err != nil { return } for _, v := range m { //获取用户身份信息 userIdentityDb := db.UserIdentityDb{} userIdentityDb.Set(v.Id) identity, err1 := userIdentityDb.FindUserIdentity() if err1 != nil { err = err1 return } var temp = md.UserList{ Id: v.Id, Nickname: v.Nickname, Phone: v.Phone, Avatar: v.Avatar, CreateAt: v.CreateAt, } for _, v1 := range *identity { temp.BindUserIdentity = append(temp.BindUserIdentity, struct { Id int `json:"id" label:"id"` IdNo string `json:"id_no" label:"身份证号"` Name string `json:"name" label:"姓名"` EnterpriseName string `json:"enterprise_name" label:"企业名"` EnterpriseKind int32 `json:"enterprise_kind" label:"企业类型"` Kind int `json:"kind" label:"身份类型"` }{Id: v1.UserIdentity.Id, IdNo: v1.UserIdentity.IdNo, Name: v1.UserIdentity.Name, EnterpriseName: v1.Enterprise.Name, EnterpriseKind: v1.Enterprise.Kind, Kind: v1.UserIdentity.Kind}) } resp.List = append(resp.List, temp) } return } func UserUpdate(req md.UserList) (err error) { userDb := db.UserDb{} userDb.Set() user, err := userDb.GetUser(req.Id) if err != nil { return err } if user == nil { return errors.New("未获取到用户信息记录") } for _, v := range req.BindUserIdentity { //获取用户身份信息 userIdentityDb := db.UserIdentityDb{} userIdentityDb.Set(v.Id) identity, err1 := userIdentityDb.GetUserIdentity(v.Id) if err1 != nil { err = err1 return } if user == nil { return errors.New("未获取到用户身份信息记录") } identity.Name = v.Name identity.IdNo = v.IdNo _, err2 := userIdentityDb.UserIdentityUpdate(identity.Id, identity, "name", "id_no") if err2 != nil { err = err2 return } } return }