usercenter.go 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. package middleground
  2. import (
  3. "bp.jydev.jianyu360.cn/BaseService/userCenter/rpc/pb"
  4. "bp.jydev.jianyu360.cn/BaseService/userCenter/rpc/usercenter"
  5. "context"
  6. "github.com/zeromicro/go-zero/core/discov"
  7. "github.com/zeromicro/go-zero/zrpc"
  8. "log"
  9. )
  10. type userCenter struct {
  11. hosts []string
  12. key string
  13. client zrpc.Client
  14. }
  15. func newUserCenter(hosts []string, key string) *userCenter {
  16. r := &userCenter{
  17. hosts: hosts,
  18. key: key,
  19. }
  20. r.client = r.NewClient()
  21. return r
  22. }
  23. func (u *userCenter) NewClient() zrpc.Client {
  24. if u.client != nil && u.client.Conn() != nil {
  25. return u.client
  26. }
  27. client, err := zrpc.NewClient(zrpc.RpcClientConf{
  28. Etcd: discov.EtcdConf{
  29. Hosts: u.hosts,
  30. Key: u.key,
  31. },
  32. })
  33. if err != nil {
  34. log.Println(err)
  35. return nil
  36. }
  37. u.client = client
  38. return client
  39. }
  40. // 获取身份列表
  41. func (u *userCenter) IdentityList(userId int64) []*pb.Identity {
  42. client := u.NewClient()
  43. if client == nil {
  44. return nil
  45. }
  46. //defer client.Conn().Close()
  47. resp, err := usercenter.NewUserCenter(client).IdentityList(context.Background(), &pb.IdentityReq{
  48. Id: userId,
  49. })
  50. if err != nil {
  51. log.Println(err)
  52. return nil
  53. }
  54. return resp.Identitys
  55. }
  56. // 获取账号id获取个人身份信息
  57. func (u *userCenter) IdentityByUserId(userId int64) *pb.Identity {
  58. client := u.NewClient()
  59. if client == nil {
  60. return nil
  61. }
  62. //defer client.Conn().Close()
  63. resp, err := usercenter.NewUserCenter(client).IdentityByUserId(context.Background(), &pb.IdentityReq{
  64. Id: userId,
  65. })
  66. if err != nil {
  67. log.Println(err)
  68. return nil
  69. }
  70. return resp
  71. }
  72. // 根据职位id获取身份信息
  73. func (u *userCenter) IdentityByPositionId(positionId int64) *pb.Identity {
  74. client := u.NewClient()
  75. if client == nil {
  76. return nil
  77. }
  78. //defer client.Conn().Close()
  79. resp, err := usercenter.NewUserCenter(client).IdentityByPositionId(context.Background(), &pb.IdentityReq{
  80. Id: positionId,
  81. })
  82. if err != nil {
  83. log.Println(err)
  84. return nil
  85. }
  86. return resp
  87. }
  88. // 根据企业员工id获取身份信息
  89. func (u *userCenter) IdentityByEntUserId(entUserId int64) *pb.Identity {
  90. client := u.NewClient()
  91. if client == nil {
  92. return nil
  93. }
  94. //defer client.Conn().Close()
  95. resp, err := usercenter.NewUserCenter(client).IdentityByEntUserId(context.Background(), &pb.IdentityReq{
  96. Id: entUserId,
  97. })
  98. if err != nil {
  99. log.Println(err)
  100. return nil
  101. }
  102. return resp
  103. }
  104. // 添加用户
  105. func (u *userCenter) UserAdd(req pb.UserAddReq) *pb.UserAddResp {
  106. client := u.NewClient()
  107. //defer client.Conn().Close()
  108. resp, err := usercenter.NewUserCenter(client).UserAdd(context.Background(), &pb.UserAddReq{
  109. Appid: req.Appid,
  110. Phone: req.Phone,
  111. Nickname: req.Nickname,
  112. Headimg: req.Headimg,
  113. Company: req.Company,
  114. Position: req.Position,
  115. Password: req.Password,
  116. AOpenid: req.AOpenid,
  117. SOpenid: req.SOpenid,
  118. Unionid: req.Unionid,
  119. IdCard: req.IdCard,
  120. Sex: req.Sex,
  121. Address: req.Address,
  122. })
  123. if err != nil {
  124. log.Println(err)
  125. return nil
  126. }
  127. return resp
  128. }
  129. // 修改用户
  130. func (u *userCenter) UserUpdate(req pb.UserIdReq) *pb.ExamineResp {
  131. client := u.NewClient()
  132. //defer client.Conn().Close()
  133. resp, err := usercenter.NewUserCenter(client).UserUpdate(context.Background(), &pb.UserIdReq{
  134. Appid: req.Appid,
  135. Id: req.Id,
  136. Phone: req.Phone,
  137. Nickname: req.Nickname,
  138. Headimg: req.Headimg,
  139. Company: req.Company,
  140. Position: req.Position,
  141. Password: req.Password,
  142. AOpenid: req.AOpenid,
  143. SOpenid: req.SOpenid,
  144. Unionid: req.Unionid,
  145. })
  146. if err != nil {
  147. log.Println(err)
  148. return nil
  149. }
  150. return resp
  151. }
  152. // 删除用户
  153. func (u *userCenter) UserDel(req pb.UserIdReq) *pb.ExamineResp {
  154. client := u.NewClient()
  155. //defer client.Conn().Close()
  156. resp, err := usercenter.NewUserCenter(client).UserDel(context.Background(), &pb.UserIdReq{
  157. Appid: req.Appid,
  158. Id: req.Id,
  159. })
  160. if err != nil {
  161. log.Println(err)
  162. return nil
  163. }
  164. return resp
  165. }
  166. // 清用户缓存
  167. func (u *userCenter) WorkDesktopClearUserInfo(req pb.WorkDesktopClearUserInfoReq) *pb.WorkDesktopClearUserInfoResp {
  168. client := u.NewClient()
  169. //defer client.Conn().Close()
  170. resp, err := usercenter.NewUserCenter(client).WorkDesktopClearUserInfo(context.Background(), &pb.WorkDesktopClearUserInfoReq{
  171. AppId: req.AppId,
  172. PositionId: req.PositionId,
  173. })
  174. if err != nil {
  175. log.Println(err)
  176. return nil
  177. }
  178. return resp
  179. }
  180. // 用户菜单获取
  181. func (u *userCenter) WorkDesktopMenuInfo(req pb.WorkDesktopMenuInfoReq) *pb.WorkDesktopMenuInfoResp {
  182. client := u.NewClient()
  183. //defer client.Conn().Close()
  184. resp, err := usercenter.NewUserCenter(client).WorkDesktopMenuInfo(context.Background(), &pb.WorkDesktopMenuInfoReq{
  185. AppId: req.AppId,
  186. UserId: req.UserId,
  187. Phone: req.Phone,
  188. Platform: req.Platform,
  189. NewUserId: req.NewUserId,
  190. EntId: req.EntId,
  191. EntUserId: req.EntUserId,
  192. WorkStatus: req.WorkStatus,
  193. AccountId: req.AccountId,
  194. EntAccountId: req.EntAccountId,
  195. PositionId: req.PositionId,
  196. PositionType: req.PositionType,
  197. MgoUserId: req.MgoUserId,
  198. })
  199. if err != nil {
  200. log.Println(err)
  201. return nil
  202. }
  203. return resp
  204. }