1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- package member_service
-
- import (
- "SCRM/models"
- "SCRM/service"
- "time"
-
- "github.com/jinzhu/gorm"
- )
-
- func GetCardList(orgID int64) (cards []*models.UserMembershipCard, err error) {
- err = service.UserReadDB().Model(&models.UserMembershipCard{}).Where("status=1 and user_org_id=?", orgID).Order("card_level asc, id asc ").Find(&cards).Error
- return
- }
-
- func GetCardByID(orgID, cardID int64) (*models.UserMembershipCard, error) {
- var card models.UserMembershipCard
- var err error
- err = service.UserReadDB().Model(&models.UserMembershipCard{}).Where("id=? and user_org_id=? and status=1", cardID, orgID).First(&card).Error
- if err == gorm.ErrRecordNotFound {
- return nil, nil
- }
- if err != nil {
- return nil, err
- }
- return &card, nil
- }
-
- func GetUserCardByID(orgID, customerID int64) (*models.UserCard, error) {
- var card models.UserCard
- var err error
- err = service.UserReadDB().Model(&models.UserCard{}).Where("user_org_id=? and customer_id=? and status=1", orgID, customerID).First(&card).Error
- if err == gorm.ErrRecordNotFound {
- return nil, nil
- }
- if err != nil {
- return nil, err
- }
- return &card, nil
- }
-
- func DeleteUserCard(orgID, customerID int64) (err error) {
- err = service.UserWriteDB().Model(&models.UserCard{}).Where("user_org_id=? and customer_id=? ", orgID, customerID).Update(map[string]interface{}{"Status": 0, "UpdatedTime": time.Now().Unix()}).Error
- return
- }
-
- func SaveUserCard(card *models.UserCard, member *Members) (err error) {
- if member.Membership == 1 {
- err = service.UserWriteDB().Save(card).Error
- } else {
- tx := service.UserWriteDB().Begin()
- err = service.UserWriteDB().Save(card).Error
- if err != nil {
- tx.Rollback()
- return
- }
-
- err = service.UserWriteDB().Model(&models.UserCustomer{}).Where("id=? and user_org_id=? ", member.ID, member.UserOrgId).Update(map[string]interface{}{"Membership": 1, "UpdatedTime": time.Now().Unix()}).Error
- if err != nil {
- tx.Rollback()
- return
- }
- tx.Commit()
- }
-
- return
- }
|