| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 | 
							- package mysqlBz
 
- import (
 
- 	orm "duoduo/database"
 
- 	"duoduo/tools"
 
- 	"math/rand"
 
- 	"time"
 
- )
 
- type BiZhi struct {
 
- 	ID         int    `gorm:"column:id;type:bigint(20);primary_key" json:"id"`     // 壁纸id
 
- 	Url        string `gorm:"column:url;type:varchar(255)" json:"url"`             // 壁纸链接
 
- 	Label      string `gorm:"column:label;type:varchar(255)" json:"label"`         // 标签
 
- 	CreateTime string `gorm:"column:create_time;type:datetime" json:"create_time"` // 插入时间
 
- 	UpdateTime string `gorm:"column:update_time;type:datetime" json:"update_time"` // 更新时间
 
- }
 
- type BiZhiCollection struct {
 
- 	ID         int    `gorm:"column:id;type:bigint(20);primary_key" json:"id"`     // 壁纸id
 
- 	Url        string `gorm:"column:url;type:varchar(255)" json:"url"`             // 壁纸链接
 
- 	Label      string `gorm:"column:label;type:varchar(255)" json:"label"`         // 标签
 
- 	CreateTime string `gorm:"column:create_time;type:datetime" json:"create_time"` // 插入时间
 
- 	UpdateTime string `gorm:"column:update_time;type:datetime" json:"update_time"` // 更新时间
 
- 	BiZhiId    int    `gorm:"column:bizhi_id;type:bigint(20)" json:"biZhiId"`
 
- 	UrlSize    string `json:"urlSize"` //缩略图
 
- }
 
- func (m *BiZhi) TableName() string {
 
- 	return "bizhi"
 
- }
 
- //list 接口使用
 
- func (o *BiZhi) GetRoundBiZhi() ([]BiZhi, error) {
 
- 	var doc []BiZhi
 
- 	var idList []int
 
- 	var count int
 
- 	var status int
 
- 	err := orm.BzMysql.Table("bizhi").Count(&count).Error
 
- 	if err != nil {
 
- 		return nil, err
 
- 	}
 
- 	rand.Seed(time.Now().UnixNano())
 
- 	for {
 
- 		status = 0
 
- 		//fmt.Println(idList)
 
- 		if len(idList) > 8 {
 
- 			break
 
- 		}
 
- 		num := rand.Intn(count-1+1) + 1 //[n-m]
 
- 		for ii := 0; ii < len(idList); ii++ {
 
- 			if idList[ii] == num {
 
- 				status = 1
 
- 				break
 
- 			}
 
- 		}
 
- 		if status == 0 {
 
- 			idList = append(idList, num)
 
- 		}
 
- 	}
 
- 	table := orm.BzMysql.Table("bizhi ")
 
- 	table = table.Where("id in (?) ", idList)
 
- 	if err = table.Select("*").Order("id desc").Limit(8).Find(&doc).Error; err != nil {
 
- 		return nil, err
 
- 	}
 
- 	return doc, nil
 
- }
 
- func (o *BiZhi) GetBiZhiLabel(label string) (BiZhi, error) {
 
- 	var doc BiZhi
 
- 	table := orm.BzMysql.Table("bizhi ")
 
- 	if label == "" {
 
- 		table = table.Where("label = '' or label is null")
 
- 	} else {
 
- 		table = table.Where(" label like '%?%'", label)
 
- 	}
 
- 	if err := table.Select("*").Order("id desc").Limit(1).Find(&doc).Error; err != nil {
 
- 		return doc, err
 
- 	}
 
- 	return doc, nil
 
- }
 
- func (o *BiZhi) BiZhiLabelUpdate(label string) error {
 
- 	if err := orm.BzMysql.Table(o.TableName()).Model(&o).Where("id = ? ", o.ID).Updates(
 
- 		map[string]interface{}{
 
- 			"label":       label,
 
- 			"update_time": tools.GetCurrntTimeStr()}).Error; err != nil {
 
- 		return err
 
- 	}
 
- 	return nil
 
- }
 
- func (o *BiZhi) BiZhiGroup(label string, openid string) ([]BiZhiCollection, error) {
 
- 	var doc []BiZhiCollection
 
- 	var data []BiZhiCollection
 
- 	var bizhi BiZhiCollection
 
- 	err := orm.BzMysql.Table("bizhi b").Where("b.id = ?", o.ID).Select("b.*,(SELECT bizhi_id FROM collection WHERE bizhi_id = b.id and open_id = ?) as bizhi_id", openid).Order("id desc").Find(&bizhi).Error
 
- 	if err != nil {
 
- 		return doc, err
 
- 	}
 
- 	table := orm.BzMysql.Table("bizhi b ").Where("label = ?", label)
 
- 	if err := table.Select("b.*,(SELECT bizhi_id FROM collection WHERE bizhi_id = b.id and open_id = ?) as bizhi_id", openid).Order("id desc").Limit(10).Find(&doc).Error; err != nil {
 
- 		return doc, err
 
- 	}
 
- 	//for i := 0; i < len(doc); i++ {
 
- 	//	if doc[i].ID == o.ID {
 
- 	//		bizhi.Url = doc[i].Url
 
- 	//		bizhi.ID = doc[i].ID
 
- 	//		bizhi.Label = doc[i].Label
 
- 	//		bizhi.BiZhiId = doc[i].BiZhiId
 
- 	//		bizhi.UrlSize = bizhi.Url + "?imageView2/2"
 
- 	//
 
- 	//	}
 
- 	//}
 
- 	bizhi.UrlSize = bizhi.Url + "?imageView2/2"
 
- 	data = append(data, bizhi)
 
- 	for i := 0; i < len(doc); i++ {
 
- 		if doc[i].ID == o.ID {
 
- 			continue
 
- 		} else {
 
- 			doc[i].UrlSize = doc[i].Url + "?imageView2/2"
 
- 			data = append(data, doc[i])
 
- 		}
 
- 	}
 
- 	return data, nil
 
- }
 
- func (o *BiZhi) BiZhiDes() (BiZhi, error) {
 
- 	var doc BiZhi
 
- 	err := orm.BzMysql.Table("bizhi").Where("id = ?", o.ID).First(&doc).Error
 
- 	if err != nil {
 
- 		return doc, err
 
- 	}
 
- 	return doc, nil
 
- }
 
- //list 接口使用
 
- func (o *BiZhi) GetLabelList(pageSize int, pageIndex int) ([]BiZhi, int, error) {
 
- 	var doc []BiZhi
 
- 	table := orm.BzMysql.Table("bizhi").Where("label like ?", "%"+o.Label+"%")
 
- 	var count int
 
- 	if err := table.Select("*").Order("id desc").Offset((pageIndex - 1) * pageSize).Limit(pageSize).Find(&doc).Error; err != nil {
 
- 		return nil, 0, err
 
- 	}
 
- 	table.Count(&count)
 
- 	return doc, count, nil
 
- }
 
 
  |