From e913ce7ca504a026ae418b5b73e3ff21001101a8 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期一, 14 八月 2023 17:38:03 +0800
Subject: [PATCH] update

---
 model/contact.go |   40 ++++++++++++++++++++++++++--------------
 1 files changed, 26 insertions(+), 14 deletions(-)

diff --git a/model/contact.go b/model/contact.go
index 43d899a..a955791 100644
--- a/model/contact.go
+++ b/model/contact.go
@@ -3,23 +3,23 @@
 import (
 	"aps_crm/pkg/mysqlx"
 	"gorm.io/gorm"
-	"time"
 )
 
 type (
 	Contact struct {
-		Id       int       `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
-		Name     string    `json:"name" gorm:"column:name;type:varchar(255);comment:鑱旂郴浜哄鍚�"`
-		Number   string    `json:"number" gorm:"column:number;type:varchar(255);comment:鑱旂郴浜虹紪鍙�"`
-		ClientId int       `json:"client_id" gorm:"column:client_id;type:int(11);comment:瀹㈡埛ID"`
-		Position string    `json:"position" gorm:"column:position;type:varchar(255);comment:鑱屼綅"`
-		Phone    string    `json:"phone" gorm:"column:phone;type:varchar(255);comment:鐢佃瘽"`
-		MemberId int       `json:"member_id" gorm:"column:member_id;type:int(11);comment:璐熻矗浜篒D"`
-		IsFirst  bool      `json:"is_first" gorm:"column:is_first;type:tinyint(1);comment:鏄惁棣栬鑱旂郴浜�"`
-		Wechat   string    `json:"wechat" gorm:"column:wechat;type:varchar(255);comment:寰俊"`
-		Birthday time.Time `json:"birthday" gorm:"column:birthday;type:datetime;comment:鐢熸棩"`
-		Email    string    `json:"email" gorm:"column:email;type:varchar(255);comment:閭"`
-		Desc     string    `json:"desc" gorm:"column:desc;type:varchar(255);comment:澶囨敞"`
+		Id       int         `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
+		Name     string      `json:"name" gorm:"column:name;type:varchar(255);comment:鑱旂郴浜哄鍚�"`
+		Number   string      `json:"number" gorm:"column:number;type:varchar(255);comment:鑱旂郴浜虹紪鍙�"`
+		ClientId int         `json:"client_id" gorm:"column:client_id;type:int(11);comment:瀹㈡埛ID"`
+		Client   Client      `json:"-" gorm:"foreignKey:ClientId"`
+		Position string      `json:"position" gorm:"column:position;type:varchar(255);comment:鑱屼綅"`
+		Phone    string      `json:"phone" gorm:"column:phone;type:varchar(255);comment:鐢佃瘽"`
+		MemberId int         `json:"member_id" gorm:"column:member_id;type:int(11);comment:璐熻矗浜篒D"`
+		IsFirst  bool        `json:"is_first" gorm:"column:is_first;type:tinyint(1);comment:鏄惁棣栬鑱旂郴浜�"`
+		Wechat   string      `json:"wechat" gorm:"column:wechat;type:varchar(255);comment:寰俊"`
+		Birthday *CustomTime `json:"birthday" gorm:"column:birthday;type:datetime;comment:鐢熸棩"`
+		Email    string      `json:"email" gorm:"column:email;type:varchar(255);comment:閭"`
+		Desc     string      `json:"desc" gorm:"column:desc;type:varchar(255);comment:澶囨敞"`
 		Address
 		gorm.Model `json:"-"`
 	}
@@ -80,9 +80,21 @@
 				}
 
 				if key == "client_name" {
-					db = db.Joins("inner join clients on clients.id = contacts.client_id").Where("clients.name LIKE ?", "%"+v+"%")
+					//db = db.Joins("inner join clients on clients.id = contacts.client_id").Where("clients.name LIKE ?", "%"+v+"%")
+					db = db.Joins("Client").Where("Client.name LIKE ?", "%"+v+"%")
+				}
+
+				if key == "is_first" {
+					if v == "鏄�" {
+						db = db.Where("is_first = ?", true)
+					} else if v == "鍚�" {
+						db = db.Where("is_first = ?", false)
+					}
 				}
 			case int:
+				if key == "client_id" {
+					db = db.Where("client_id = ?", v)
+				}
 			}
 		}
 	}

--
Gitblit v1.8.0