123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- package user
- import (
- "errors"
- userDao "eta/eta_mini_ht_api/models/user"
- "time"
- )
- type FollowDTO struct {
- UserId int `json:"userId"`
- AnalystId int `json:"analystId"`
- AnalystName string `json:"analystName"`
- FollowType string `json:"followType"`
- FollowedTime time.Time `json:"followedTime"`
- }
- func convertToCrmFollowingAnalyst(dto FollowDTO) userDao.UserAnalystFollowList {
- return userDao.UserAnalystFollowList{
- FinancialAnalystID: dto.AnalystId,
- FinancialAnalystName: dto.AnalystName,
- FollowedTime: time.Now(),
- Followed: followType(dto.FollowType),
- UserID: dto.UserId,
- }
- }
- func GetPostUser(authorName string, PublishTime string) (ids []int) {
- return userDao.GetPostUser(authorName, PublishTime)
- }
- func convertToFollowDTO(follow userDao.UserAnalystFollowList) (dto FollowDTO) {
- return FollowDTO{
- UserId: follow.UserID,
- AnalystId: follow.FinancialAnalystID,
- AnalystName: follow.FinancialAnalystName,
- FollowType: string(follow.Followed),
- FollowedTime: follow.FollowedTime,
- }
- }
- func convertFollowStatusToFollowDTO(follow userDao.FollowStatus) (dto FollowDTO) {
- return FollowDTO{
- AnalystName: follow.FinancialAnalystName,
- FollowType: string(follow.Followed),
- }
- }
- func followType(followType string) userDao.FollowingType {
- switch followType {
- case "following":
- return userDao.Following
- case "unfollowed":
- return userDao.Unfollowed
- default:
- return ""
- }
- }
- func FollowAnalystsByName(userId int, analysts []FollowDTO, follow string) error {
- flType := followType(follow)
- var userFollows []userDao.UserAnalystFollowList
- if flType == "" {
- return errors.New("关注状态非法")
- }
- for _, analyst := range analysts {
- userFollow := convertToCrmFollowingAnalyst(analyst)
- userFollow.Followed = flType
- userFollows = append(userFollows, userFollow)
- }
- return userDao.FollowAnalystsByName(userId, userFollows, flType)
- }
- func CheckFollowStatusByNames(userId int, names []string) (follows []FollowDTO, err error) {
- list, err := userDao.CheckFollowStatusByNames(userId, names)
- if err != nil {
- return
- }
- for _, follow := range list {
- follows = append(follows, convertFollowStatusToFollowDTO(follow))
- }
- return
- }
- func GetFollowingAnalystList(userId int) (dtoList []FollowDTO, err error) {
- list, err := userDao.GetFollowingAnalystList(userId)
- if err != nil {
- return
- }
- for _, follow := range list {
- dtoList = append(dtoList, convertToFollowDTO(follow))
- }
- return
- }
- func GetFollowed(userId int, analystId int) string {
- return userDao.GetFollowed(userId, analystId)
- }
- func FollowAnalyst(dto FollowDTO) (err error) {
- follow := convertToCrmFollowingAnalyst(dto)
- return userDao.FollowAnalyst(follow)
- }
- func GetFollowing(userId int, analystId int) string {
- return userDao.GetFollowing(userId, analystId)
- }
|