123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205 |
- package message
-
- import (
- "spaceofcheng/services/models"
- "spaceofcheng/services/models/course"
- "spaceofcheng/services/models/model"
- "spaceofcheng/services/utils"
- "strconv"
- "strings"
- "time"
-
- "github.com/astaxie/beego"
- )
-
- // CmsCaseInfo 项目专题
- type CmsCaseInfo struct {
- model.TaCmsCase `xorm:"extends"`
- CaseName string
- }
-
- const (
- STATUS_NOSHOW = 0
- )
-
- // GetCmsCaseList 获取项目专题列表
- func (m *MessageDAO) GetCmsCaseList(name, caseids, userid string, page int, pageSize int) ([]CmsCaseInfo, error) {
- var cases []CmsCaseInfo
- sql := `select a.*, (case when a.case_id='all' then '所有案场' else b.case_name end) case_name from ta_cms_case a LEFT join sys_case b on a.case_id = b.case_id
- where (a.case_id in ('` + strings.Replace(caseids, ",", "','", -1) + `') OR (a.create_user='` + userid + `' and a.case_id='all')) and a.name like '%` + name + `%' and a.status > ` + strconv.Itoa(models.STATUS_DEL) + `
- and (b.status > ` + strconv.Itoa(models.STATUS_DEL) + ` or a.case_id='all')
- order by create_date desc limit ` + strconv.Itoa((page-1)*pageSize) + `, ` + strconv.Itoa(pageSize)
- err := m.db.Sql(sql).Find(&cases)
- return cases, err
- }
-
- // GetCmsCaseByOrg 获取列表
- func (m *MessageDAO) GetCmsCaseByOrg(orgid string) ([]CmsCase, error) {
- var cases []CmsCase
- sql := `select a.*,b.coordinate,b.case_address from ta_cms_case a left join sys_case b on a.case_id = b.case_id where a.org_id='` + orgid + `' and a.status=` + strconv.Itoa(models.STATUS_NORMAL) + ` order by a.create_date desc`
- err := m.db.Sql(sql).Find(&cases)
- beego.Error(sql)
- // err := m.db.Where("org_id=?", orgid).Find(&cases)
- return cases, err
- }
-
- // GetCmsCaseListCount 获取项目专题Count
- func (m *MessageDAO) GetCmsCaseListCount(name, caseids, userid string) (int, error) {
- var cases []CmsCaseInfo
- sql := `select a.*, (case when a.case_id='all' then '所有案场' else b.case_name end) case_name from ta_cms_case a LEFT join sys_case b on a.case_id = b.case_id
- where(a.case_id in ('` + strings.Replace(caseids, ",", "','", -1) + `') OR (a.create_user='` + userid + `' and a.case_id='all')) and a.name like '%` + name + `%'
- and a.status > ` + strconv.Itoa(models.STATUS_DEL) + ` and (b.status > ` + strconv.Itoa(models.STATUS_DEL) + ` or a.case_id='all')`
-
- err := m.db.Sql(sql).Find(&cases)
- if err != nil {
- return 0, err
- }
- return len(cases), nil
- }
-
- // CmsCase 项目详情
- type CmsCase struct {
- model.TaCmsCase `xorm:"extends"`
- CaseAddress string
- Coordinate string
-
- Courses []course.CourseDetail
- CmsCaseImgs []model.TaCmsCaseImage
- }
-
- // GetCmsCaseByID 获取项目专题详情
- func (m *MessageDAO) GetCmsCaseByID(cmscaseid string) (*CmsCase, error) {
- var cases []CmsCase
- sql := `select a.*,b.case_address from ta_cms_case a left join sys_case b on a.case_id=b.case_id where a.cms_case_id='` + cmscaseid + `' and (b.status>` + strconv.Itoa(models.STATUS_DEL) + ` or a.case_id='all') and a.status>` + strconv.Itoa(models.STATUS_DEL)
- err := m.db.Sql(sql).Find(&cases)
- if err != nil {
- beego.Error(err)
- return nil, err
- }
- if len(cases) > 0 {
- return &cases[0], nil
- }
- return nil, nil
- }
-
- // GetCoursesByCmsCase 根据项目专题ID获取课程信息
- func (m *MessageDAO) GetCoursesByCmsCase(cmscaseid string) ([]course.CourseDetail, error) {
- var course []course.CourseDetail
- sql := `select a.* from ta_course a inner join ta_cms_case_course b on a.course_id=b.course_id where a.status>` + strconv.Itoa(models.STATUS_DEL) + ` and b.cms_case_id = ?`
-
- err := m.db.Sql(sql, cmscaseid).Find(&course)
- return course, err
- }
-
- // GetCmsCaseImgs 根据项目专题ID获取课程图片
- func (m *MessageDAO) GetCmsCaseImgs(cmscaseid string) ([]model.TaCmsCaseImage, error) {
- var imgs []model.TaCmsCaseImage
- err := m.db.Where("cms_case_id=?", cmscaseid).And("status>" + strconv.Itoa(models.STATUS_DEL)).Asc("sort").Find(&imgs)
- return imgs, err
- }
-
- // GetCourseByCaseID 根据案场ID获取所有的课程信息
- func (m *MessageDAO) GetCourseByCaseID(caseid string) ([]course.CourseDetail, error) {
- var course []course.CourseDetail
- sql := `select * from ta_course where status = ` + strconv.Itoa(models.STATUS_NORMAL) + ` and case_id=?`
- err := m.db.Sql(sql, caseid).Find(&course)
- return course, err
- }
-
- // GetCourseByOrgID 根据机构id获取所有课程信息
- func (m *MessageDAO) GetCourseByOrgID(orgid string) ([]course.CourseDetail, error) {
- var course []course.CourseDetail
- sql := `select * from ta_course where status = ` + strconv.Itoa(models.STATUS_NORMAL) + ` and org_id=?`
- err := m.db.Sql(sql, orgid).Find(&course)
- return course, err
- }
-
- // AddCmsCase 新增项目专题
- func (m *MessageDAO) AddCmsCase(cmscase model.TaCmsCase) (*model.TaCmsCase, error) {
- cmscase.CreateDate = time.Now()
- cmscase.CmsCaseId = utils.GetGUID()
- user := m.ctx.Get("user").(model.SysUser)
- cmscase.CreateUser = user.UserId
- _, err := m.db.Insert(cmscase)
- return &cmscase, err
- }
-
- // UpdateCmsCase 修改项目专题
- func (m *MessageDAO) UpdateCmsCase(cmscase model.TaCmsCase) error {
- var col = []string{
- "name",
- "title",
- "detail_content",
- "is_all_course",
- "status",
- "sort",
- "case_id",
- }
- _, err := m.db.Cols(col...).Where("cms_case_id=?", cmscase.CmsCaseId).Update(cmscase)
- return err
- }
-
- // DelCmsCase 删除项目专题
- func (m *MessageDAO) DelCmsCase(cmscaseid string) error {
- var cmscase = model.TaCmsCase{}
- cmscase.Status = models.STATUS_DEL
- cmscase.CmsCaseId = cmscaseid
- var cols = []string{
- "status",
- }
- _, err := m.db.Cols(cols...).Where("cms_case_id=?", cmscase.CmsCaseId).Update(cmscase)
- return err
- }
-
- // DelCmsCaseCourse 删除项目专题对应的课程
- func (m *MessageDAO) DelCmsCaseCourse(cmscaseid string) error {
- sql := "delete from ta_cms_case_course where cms_case_id='" + cmscaseid + "'"
- _, err := m.db.Exec(sql)
- return err
- }
-
- // SaveCmsCaseCourse 保存项目对应的课程
- func (m *MessageDAO) SaveCmsCaseCourse(cmscaseid, courseids string) error {
- sql := `insert into ta_cms_case_course(cms_case_id,course_id) select '` + cmscaseid + `', course_id from ta_course where course_id in ('` + strings.Replace(courseids, ",", "','", -1) + `') and status > ` + strconv.Itoa(models.STATUS_DEL)
- _, err := m.db.Exec(sql)
- return err
- }
-
- // DelCmsCaseImg 删除项目专题对应的图片
- func (m *MessageDAO) DelCmsCaseImg(cmscaseid string) error {
- sql := "delete from ta_cms_case_image where cms_case_id='" + cmscaseid + "'"
- _, err := m.db.Exec(sql)
- return err
- }
-
- // SaveCmsCaseImg 保存项目专题对应的图片
- func (m *MessageDAO) SaveCmsCaseImg(img model.TaCmsCaseImage) error {
- img.CmsCaseImageId = utils.GetGUID()
- img.Status = models.STATUS_NORMAL
- _, err := m.db.Insert(img)
- return err
- }
-
- // CmsCaseShow 前台展示
- func (m *MessageDAO) CmsCaseShow(cmscaseid string) error {
- var cmscase = model.TaCmsCase{}
- cmscase.Status = models.STATUS_NORMAL
- cmscase.CmsCaseId = cmscaseid
- var cols = []string{
- "status",
- }
- _, err := m.db.Cols(cols...).Where("cms_case_id=?", cmscase.CmsCaseId).Update(cmscase)
- return err
- }
-
- // CmsCaseHide 前台隐藏
- func (m *MessageDAO) CmsCaseHide(cmscaseid string) error {
- var cmscase = model.TaCmsCase{}
- cmscase.Status = STATUS_NOSHOW
- cmscase.CmsCaseId = cmscaseid
- var cols = []string{
- "status",
- }
- _, err := m.db.Cols(cols...).Where("cms_case_id=?", cmscase.CmsCaseId).Update(cmscase)
- return err
- }
|