123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- package article_service
-
- import (
- "SCRM/models"
- "SCRM/service"
- "fmt"
- "github.com/jinzhu/gorm"
-
- "time"
- )
-
- func FindArticleCategoryType (userOrgId int64)(*[]models.ArticleCategory,error){
- cartegory := &[]models.ArticleCategory{}
- err := service.PatientReadDB().Where("status = ? AND user_org_id = ? ", 1, userOrgId).Find(cartegory).Error
- return cartegory,err
- }
-
- func FindCategoryList(orgID int64)(cate []*models.ArticleCategory,err error) {
- err = service.PatientReadDB().Model(&models.ArticleCategory{}).Where("user_org_id =? AND status =?", orgID, 1).Order("id asc").Find(&cate).Error
- return
- }
-
- func AddAritcle(articles models.Articles) error {
- err := service.PatientWriteDB().Create(&articles).Error
- return err
- }
-
- func FindAllArticle(orgID int64, page int64,limit int64, searchKey string, classId int64) (articles []*models.Articles,total int64, err error) {
- fmt.Println("机构ID",orgID,"搜搜索",searchKey)
- db := service.PatientReadDB().Table("sgj_patient_articles as a ").Where("a.status=1")
- if(orgID>0){
- db = db.Where("a.user_org_id=?" ,orgID)
- }
-
- if(classId>0){
- db = db.Joins("JOIN sgj_patient_articles_menu as s ON s.id = a.class_id AND s.status=1 AND user_org_id=?",orgID)
- }
-
- if len(searchKey) > 0 {
- searchKey = "%" + searchKey + "%"
- db = db.Where("a.title LIKE ?", searchKey)
- }
-
- offset := (page - 1) * limit
- err = db.Count(&total).Order("a.ctime desc").Offset(offset).Limit(limit).
- Preload("Comments", func(db *gorm.DB) *gorm.DB {
- return db.Where(" status = ?",1)
- }).
- Select("a.id, a.title, a.summary, a.content, a.type, a.num, a.mtime, a.real_read_num, a.ctime, a.class_id, a.author, a.status, a.reason,a.star_num, a.comment_num,a.user_org_id, a.article_status, a.imgs, a.video_url, a.source, a.category_id, a.ttid, a.ttype, a.toid").Find(&articles).Error
- fmt.Println("err是啥呢?",err)
- if err != nil {
- return
- }
- return
- }
-
- func AddCategory(category models.ArticleCategory) error {
- err := service.PatientWriteDB().Create(&category).Error
- return err
- }
-
- func GetCategorys(page int64,limit int64,orgID int64) ( categorys []*models.ArticleCategory,total int64,err error) {
- db := service.PatientReadDB().Table("sgj_patient_articles_menu as a").Where("a.status=1")
- if(orgID > 0){
- db = db.Where("a.user_org_id=?" ,orgID)
- }
- offset := (page - 1) * limit
- err = db.Count(&total).Order("a.ctime desc").Offset(offset).Limit(limit).
- Select("a.id,a.name,a.order,a.status,a.summary,a.type,a.user_org_id,a.mtime,a.ctime,a.num").Find(&categorys).Error
- if err != nil {
- return
- }
- return
- }
-
- func GetCategorysByID(orgID int64,id int64)(categorys []*models.ArticleCategory,err error){
- err = service.PatientReadDB().Where("user_org_id = ? AND id =? AND status =1", orgID, id).Find(&categorys).Error
- if err == gorm.ErrRecordNotFound {
- return nil, nil
- }
- if err != nil {
- return nil, err
- }
- return categorys,err
- }
-
- func EditCategory(cat *models.ArticleCategory,orgID int64,id int64){
- service.PatientWriteDB().Model(cat).Where("user_org_id =? AND id =? AND status = ?", orgID, id, 1).Update(map[string]interface{}{"Name": cat.Name, "Summary": cat.Summary, "Order": cat.Order, "mtime": cat.Mtime})
- }
-
- func DeleteCategorys(orgID int64,ids[] int64)(err error){
- if len(ids) ==1{
- err = service.PatientWriteDB().Model(&models.ArticleCategory{}).Where( "id=? and user_org_id = ?",ids[0],orgID).Update(map[string]interface{}{"Status":0,"mtime":time.Now().Unix()}).Error
- }else {
- err = service.PatientWriteDB().Model(&models.ArticleCategory{}).Where("id IN (?) and user_org_id = ?",ids,orgID).Update(map[string]interface{}{"Status":0,"mtime":time.Now().Unix()}).Error
- }
- return
- }
-
- func AddVido(articles models.Articles) error {
- err := service.PatientWriteDB().Create(&articles).Error
- return err
- }
|