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 }