12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- package model
- import (
- model2 "gas-cylinder-api/common/model"
- "golang.org/x/crypto/bcrypt"
- "gorm.io/gorm"
- )
- type ProvCustomer struct {
- Id string `json:"id" gorm:"size:48"` // 主键ID
- PrincipalName string `json:"principalName" gorm:"size:128;"` // 负责人名字
- PrincipalPhone string `json:"principalPhone" gorm:"size:32;"` // 负责人电话
- ShopName string `json:"shopName" gorm:"size:128;"` // 商店名字
- Address string `json:"address" gorm:"size:255;"` // 地址
- AddressImg string `json:"addressImg" gorm:"size:255;"` // 现场图片
- Lng float64 `json:"lng" gorm:"size:9;"` // 经度
- Lat float64 `json:"lat" gorm:"size:9;"` // 纬度
- Type int `json:"type" gorm:"size:4;"` // 类型 0-商户 1-私人
- City string `json:"city" gorm:"size:6;"` // 所在地市
- Area string `json:"area" gorm:"size:6;"` // 所属区/县
- Remark string `json:"remark" gorm:"size:255;"` // 备注描述
- StoreCode string `json:"storeCode" gorm:"size:48;"` // 门店登记编号
- }
- type Customer struct {
- ProvCustomer
- IsSyncProv bool `json:"isSyncProv"` // 是否同步到省平台
- Openid string `json:"openid"` // 微信id
- State int `json:"state" gorm:"size:6;default:-1"` // 0-待整改 1-整改中 2-已整改 合格
- Name string `json:"name" gorm:"size:128;"`
- Password string `json:"-" gorm:"size:128;comment:密码"`
- model2.ControlBy
- model2.ModelTime
- model2.DeptBy
- }
- func (Customer) TableName() string {
- return "customer"
- }
- type CustomerOmit struct {
- Id string `json:"id,omitempty"` // 主键ID
- Name string `json:"name,omitempty"` // 负责人名字
- Openid string `json:"openid,omitempty"` // 微信id
- IsSyncProv bool `json:"isSyncProv,omitempty"` // 是否同步到省平台
- }
- func (CustomerOmit) TableName() string {
- return "customer"
- }
- func (e *Customer) BeforeCreate(_ *gorm.DB) error {
- return e.Encrypt()
- }
- func (e *Customer) BeforeUpdate(_ *gorm.DB) error {
- var err error
- if e.Password != "" {
- err = e.Encrypt()
- }
- return err
- }
- // 加密
- func (e *Customer) Encrypt() (err error) {
- if e.Password == "" {
- return
- }
- var hash []byte
- if hash, err = bcrypt.GenerateFromPassword([]byte(e.Password), bcrypt.DefaultCost); err != nil {
- return
- } else {
- e.Password = string(hash)
- return
- }
- }
|