12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package merchant
- import (
- "eta/eta_mini_ht_api/common/utils/page"
- "eta/eta_mini_ht_api/models/merchant"
- "time"
- )
- type UserAccessDTO struct {
- ID int
- TemplateUserId int
- ProductID int
- ProductType string
- }
- func convertToUserAccessDTO(userSubscriptionAccessList merchant.UserSubscriptionAccessList) UserAccessDTO {
- return UserAccessDTO{
- ID: userSubscriptionAccessList.ID,
- TemplateUserId: userSubscriptionAccessList.TemplateUserId,
- ProductID: userSubscriptionAccessList.ProductID,
- ProductType: userSubscriptionAccessList.ProductType,
- }
- }
- func OpenProduct(templateUserId int, productOrderNo string, product MerchantProductDTO) error {
- userAccess := merchant.UserSubscriptionAccessList{
- TemplateUserId: templateUserId,
- ProductID: product.Id,
- ProductName: product.Title,
- ProductType: product.Type,
- BeginDate: time.Now(),
- Status: merchant.SubscribeValid,
- ProductOrderNo: productOrderNo,
- }
- if !product.IsPermanent {
- userAccess.EndDate = time.Now().Add(time.Duration(product.ValidDays) * 24 * time.Hour)
- }
- return merchant.InsertOrUpdateUserSubscribe(userAccess)
- }
- func CloseProduct(templateUserId int, productOrderNo string, product MerchantProductDTO) error {
- userAccess := merchant.UserSubscriptionAccessList{
- TemplateUserId: templateUserId,
- ProductID: product.Id,
- ProductName: product.Title,
- ProductType: product.Type,
- Status: merchant.SubscribeClose,
- ProductOrderNo: productOrderNo,
- }
- return merchant.CloseUserAccess(userAccess)
- }
- func SubscribeList(templateUserId int, productType string, pageInfo page.PageInfo) (list []UserAccessDTO, err error) {
- offset := page.StartIndex(pageInfo.Current, pageInfo.PageSize)
- var subscribeList []merchant.UserSubscriptionAccessList
- subscribeList, err = merchant.SubscribeList(templateUserId, productType, pageInfo.LatestId, offset, pageInfo.PageSize)
- if err != nil {
- return
- }
- for _, userSubscriptionAccessList := range subscribeList {
- list = append(list, convertToUserAccessDTO(userSubscriptionAccessList))
- }
- return
- }
- func GetTotalUserPageCountByProductType(productType string, id int) (int64, int64) {
- return merchant.GetTotalUserPageCountByProductType(productType, id)
- }
|