• haoyanbin's avatar
    1 · 9bf9e037
    haoyanbin authored
    9bf9e037
survey.go 1.65 KB
package service

import (
	"gin-vue-admin/global"
	"gin-vue-admin/model"
	"gin-vue-admin/model/request"
)

func CreateSurveyUser(req model.SurveyUser) (error, int) {
	err := global.GVA_DB.Table("survey_user").Create(&req).Error
	return err, req.Id
}

func CreateSurveyUserData(req model.SurveyUserData) error {
	err := global.GVA_DB.Table("survey_user_data").Create(&req).Error
	return err
}

func CreateSurveyLog(req model.SurveyLog) error {
	err := global.GVA_DB.Table("survey_log").Create(&req).Error
	return err
}

func IsSurveyLog(userId string) int {
	var line int64

	sqlStr := "SELECT count(id) as line " +
		" FROM report_evalute" +
		" where report_main_orgin_id = ? AND delflag=0"

	global.GVA_DB.Raw(sqlStr, userId).Find(&line)
	if global.GVA_DB.Error != nil || line > 0 {
		return 1
	}
	return 2
}

func UpdateSurveyLog(req model.SurveyLog, orginId string) error {
	err := global.GVA_DB.Table("report_evalute").Where("report_main_orgin_id=?", orginId).Updates(&req).Error
	return err
}

func GetSurveyUserList(req request.GetSurveyUserListReq) (error, []model.SurveyUser) {
	bannerList := make([]model.SurveyUser, 0)

	field := " sur.id, sur.contacts, sur.contacts_mobile, sur.create_time, su.mobile, su.nick_name "

	table := " survey_user as sur left join sys_users as su on sur.user_id = su.id "

	conditions := " "

	if req.Mobile != "" {
		conditions += " AND su.mobile = " + req.Mobile
	}

	orderby := " sur.id desc "

	sqlStr := "SELECT " + field +
		" FROM " + table +
		" WHERE 1>0 " + conditions +
		" ORDER BY " + orderby

	global.GVA_DB.Raw(sqlStr).Scan(&bannerList)
	if global.GVA_DB.Error != nil {
		return global.GVA_DB.Error, nil
	}
	return nil, bannerList
}