feat(ECR-011): 昵称、首页贴士与档案 Self 唯一/合盘交叉校验
每账号仅一条 self(migration 40902);合盘只选 TA;账号昵称可改;首页穿衣/颜色/养生贴士。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -163,6 +163,9 @@ func (s *Service) CreateStar(ctx context.Context, userID, profileID uuid.UUID) (
|
||||
// CreateSynastry builds a multi-chart synastry report for two profiles.
|
||||
// asOf is the secondary-progression date (defaults to today CST when nil/zero).
|
||||
func (s *Service) CreateSynastry(ctx context.Context, userID, profileAID, profileBID uuid.UUID, asOf *time.Time) (*model.GrowthReport, error) {
|
||||
if profileAID == profileBID {
|
||||
return nil, errors.New("合盘需要两个不同档案")
|
||||
}
|
||||
pa, err := s.Profiles.GetForUser(ctx, userID, profileAID)
|
||||
if err != nil {
|
||||
return nil, errors.New("profile a not found")
|
||||
@@ -174,6 +177,8 @@ func (s *Service) CreateSynastry(ctx context.Context, userID, profileAID, profil
|
||||
if err != nil || !pb.GeoVisible || pb.Relation != "self" || pb.UserID == userID {
|
||||
return nil, errors.New("profile b not found")
|
||||
}
|
||||
} else if pb.Relation != "other" {
|
||||
return nil, errors.New("合盘对象须为 TA 档案或附近的人")
|
||||
}
|
||||
ca, err := star.NatalChart(pa.BirthDate, pa.BirthTime, pa.BirthPlace)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user