Files
jx-print/dao/temp_dao.go
邹宗楠 03069ce0fe 1
2022-10-18 10:30:37 +08:00

167 lines
5.2 KiB
Go
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package dao
import (
"fmt"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-print/globals"
"git.rosy.net.cn/jx-print/model/app_model"
)
// GetTempByName 根据模板名称获取模板
func GetTempByName(userID, printNo, tempName string) ([]*app_model.SystemTemp, error) {
sql := `SELECT * FROM system_temp WHERE 1=1`
var param []interface{}
if userID != "" {
sql += ` AND user_id = ?`
param = append(param, userID)
}
if printNo != "" {
sql += ` AND print_sn = ?`
param = append(param, printNo)
}
if tempName != "" {
sql += ` AND temp_name = ?`
param = append(param, tempName)
}
sql += ` AND deleted_at = ?`
param = append(param, utils.DefaultTimeValue)
var result []*app_model.SystemTemp
if err := globals.GetDB().Select(&result, sql, param...); err != nil {
return nil, err
}
return result, nil
}
// AddTemp 添加模板数据
func AddTemp(param *app_model.SystemTemp) error {
return Insert(globals.GetDB(), param)
}
// UpdateOtherTempStatus 修改其他模板为非默认
func UpdateOtherTempStatus(userId, printNo string) error {
_, err := globals.GetDB().Exec(`UPDATE system_temp SET is_use = ? WHERE user_id = ? AND print_sn = ?`, []interface{}{2, userId, printNo}...)
return err
}
// UpdateTempOnUser 将模板修改为用户模板
func UpdateTempOnUser(id int, userId string) error {
_, err := globals.GetDB().Exec(`UPDATE system_temp SET user_id = ? WHERE id = ?`, []interface{}{userId, id}...)
return err
}
// UpdateTemp 修改模板数据
func UpdateTemp(param *app_model.SystemTemp, fields []string) error {
//sql := `UPDATE system_temp SET `
//var sqlParam []interface{}
//updateBuffer := make([]string, 0, 14)
//if param.CreatedAt != "" {
// updateBuffer = append(updateBuffer, "created_at")
// sqlParam = append(sqlParam, param.Temp)
//}
//if param.UpdatedAt != "" {
//}
//if param.LastOperator != "" {
//}
//if param.DeletedAt != "" {
//}
//if param.TempName != "" {
//}
//if param.TempRank != "" {
//}
//if param.Temp != "" {
//}
//if param.UserId != "" {
//}
//if param.TempType != "" {
//}
//if param.TempSize != "" {
//}
//if param.PrintSn != "" {
//}
//if param.IsUse != "" {
//}
//if param.Properties != "" {
//}
return Update(globals.GetDB(), param, fields...)
}
// DeleteTemp 删除模板数据
func DeleteTemp(id int, userId string) error {
_, err := globals.GetDB().Exec(`DELETE FROM system_temp WHERE id = ? AND user_id = ?`, []interface{}{id, userId}...)
return err
}
// DeleteAllTemp 删除用户所属打印机所有模板
func DeleteAllTemp(userId string, printNo string) error {
_, err := globals.GetDB().Exec(`DELETE FROM system_temp WHERE user_id = ? AND print_sn = ? `, []interface{}{userId, printNo}...)
return err
}
// SelectUserTemp 查询用户模板
func SelectUserTemp(userId, printSn string) ([]*app_model.SystemTemp, error) {
var result []*app_model.SystemTemp
if err := globals.GetDB().Select(&result, `SELECT * FROM system_temp WHERE user_id = ? AND print_sn = ? AND deleted_at = ? ORDER BY created_at desc `, []interface{}{userId, printSn, utils.DefaultTimeValue}...); err != nil {
return nil, err
}
return result, nil
}
// SelectPrintTemp 根据打印机编号查询模板
func SelectPrintTemp(printSn string) ([]*app_model.SystemTemp, error) {
var result []*app_model.SystemTemp
if err := globals.GetDB().Select(&result, `SELECT * FROM system_temp WHERE print_sn = ? AND deleted_at = ? ORDER BY created_at desc `, []interface{}{printSn, utils.DefaultTimeValue}...); err != nil {
return nil, err
}
return result, nil
}
// SelectUserDefaultTemp 查询用户默认模板
func SelectUserDefaultTemp(userId string, tempType string) (*app_model.SystemTemp, bool, error) {
var result []*app_model.SystemTemp
if err := globals.GetDB().Select(&result, `SELECT * FROM system_temp WHERE user_id = ? AND temp_type = ? AND is_use = ? AND deleted_at = ? ORDER BY created_at desc `, []interface{}{userId, tempType, 1, utils.DefaultTimeValue}...); err != nil {
return nil, false, err
}
if len(result) <= 0 {
return nil, false, nil
}
return result[0], true, nil
}
// QuerySystemTemp 查询系统模板
func QuerySystemTemp() ([]*app_model.SystemTemp, error) {
var result []*app_model.SystemTemp
if err := globals.GetDB().Select(&result, `SELECT * FROM system_temp WHERE user_id = ? ORDER BY created_at desc `, []interface{}{"system_user"}...); err != nil {
return nil, err
}
return result, nil
}
// SwitchTemp2User 切换模板
func SwitchTemp2User(tempId int, userId, printSn string) error {
if _, err := globals.GetDB().Exec(`UPDATE system_temp SET is_use = 2 WHERE user_id = ? AND print_sn = ?`, []interface{}{userId, printSn}...); err != nil {
return err
}
if _, err := globals.GetDB().Exec(`UPDATE system_temp SET is_use = 1 WHERE id = ? AND user_id = ? AND print_sn = ?`, []interface{}{tempId, userId, printSn}...); err != nil {
return err
}
return nil
}
// QueryTempById 查询模板根据id
func QueryTempById(id int) (data *app_model.SystemTemp, err error) {
var result []*app_model.SystemTemp
if err := globals.GetDB().Select(&result, `SELECT * FROM system_temp WHERE id = ?`, []interface{}{id}...); err != nil {
return nil, err
}
if len(result) != 1 {
return nil, fmt.Errorf("参数异常")
}
return result[0], nil
}