| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- package busmodels
- import (
- "device-manage/app/admin/models"
- orm "device-manage/common/global"
- "fmt"
- "strconv"
- )
- //appkey值 唯一, 区分不同设备不同的应用,设备端可以以此判断是否是目标应用或者配置文件.
- //appkey设备可用可不用,如果不使用appkey能够区分应用也可以,比如:android apk 可以通过包名区分应用等.
- type BusApplication struct {
- AppId int `json:"appId" gorm:"primary_key;AUTO_INCREMENT"`
- AppName string `json:"appName" gorm:"size:128;"`
- AppKey string `json:"appKey" gorm:"size:128;"`
- GroupId int `json:"groupId"`
- DestObject string `json:"destObject" gorm:"size:128;"`
- UpgradeType string `json:"upgradeType" gorm:"size:32;"`
- PkgName string `json:"pkgName" gorm:"size:128;"`
- Remark string `json:"remark" gorm:"size:255;"`
- CreateBy string `json:"createBy" gorm:"size:128;"`
- UpdateBy string `json:"updateBy" gorm:"size:128;"`
- BaseModel
- BusUpgradeFile BusUpgradeFile `gorm:"foreignKey:AppId;references:AppId"`
- BusAppDeviceBind BusAppDeviceBind `gorm:"foreignKey:AppId;references:AppId"`
- BusAppGroupBind BusAppGroupBind `gorm:"foreignKey:AppId;references:AppId"`
- }
- type ApplicationInfo struct {
- BusApplication
- GroupName string `json:"groupName" gorm:"size:128;"`
- }
- type QueryAppParams struct {
- AppName string `json:"appName" gorm:"size:128;"`
- DestObject string `json:"destObject" gorm:"size:128;"`
- PageSize int `json:"pageSize"`
- PageIndex int `json:"pageIndex"`
- Gids []int `json:"gids"`
- }
- func (BusApplication) TableName() string {
- return "bus_application"
- }
- type PublishAppDevice struct {
- AppId int `json:"appId"`
- DeviceId []int `json:"deviceId"`
- }
- type PublishAppGroup struct {
- AppId int `json:"appId"`
- GroupId []int `json:"groupId"`
- }
- func (e *BusApplication) Get() (ApplicationInfo, error) {
- var doc ApplicationInfo
- var group BusGroup
- tableGroup := orm.Eloquent.Table("bus_group")
- table := orm.Eloquent.Table(e.TableName())
- if e.AppId != 0 {
- table = table.Where("app_id = ?", e.AppId)
- }
- if err := table.First(&doc).Error; err != nil {
- return doc, err
- }
- if err := tableGroup.Where("group_id = ?", doc.GroupId).Find(&group).Error; err != nil {
- return doc, err
- } else {
- doc.GroupName = group.GroupName
- }
- return doc, nil
- }
- func (e *BusApplication) GetPage(pageSize int, pageIndex int, gids []int) ([]ApplicationInfo, int, error) {
- var doc []ApplicationInfo
- tableApp := orm.Eloquent.Table(e.TableName())
- //tableUser := orm.Eloquent.Table("sys_user")
- if e.AppName != "" {
- tableApp = tableApp.Where("app_name like ?", "%"+e.AppName+"%")
- }
- if e.DestObject != "" {
- tableApp = tableApp.Where("dest_object like ?", "%"+e.DestObject+"%")
- }
- if len(gids) > 0 {
- tableApp = tableApp.Where("group_id in (?)", gids)
- }
- var count int64
- if err := tableApp.Order("app_id desc").Offset((pageIndex - 1) * pageSize).Limit(pageSize).Find(&doc).Offset(-1).Limit(-1).Count(&count).Error; err != nil {
- return nil, 0, err
- }
- for k, v := range doc {
- fmt.Println(">>>>>>>>>>>")
- fmt.Println(v.GroupId)
- var group BusGroup
- tableGroup := orm.Eloquent.Table("bus_group")
- user := models.SysUser{}
- id, _ := strconv.Atoi(v.CreateBy)
- if err := orm.Eloquent.Table("sys_user").Where("user_id = ?", id).Find(&user).Error; err == nil {
- doc[k].CreateBy = user.Username
- }
- id, _ = strconv.Atoi(v.UpdateBy)
- user2 := models.SysUser{}
- if err := orm.Eloquent.Table("sys_user").Where("user_id = ?", id).Find(&user2).Error; err == nil {
- doc[k].UpdateBy = user2.Username
- }
- if err := tableGroup.Where("group_id = ?", v.GroupId).Find(&group).Error; err == nil {
- doc[k].GroupName = group.GroupName
- }
- }
- return doc, int(count), nil
- }
- func (e *BusApplication) Insert() (id int, err error) {
- // check 用户名
- //添加数据
- if err = orm.Eloquent.Table(e.TableName()).Create(&e).Error; err != nil {
- return
- }
- id = e.AppId
- return
- }
- func (e *BusApplication) Update(id int) (update BusApplication, err error) {
- if err = orm.Eloquent.Table(e.TableName()).First(&update, id).Error; err != nil {
- return
- }
- //参数1:是要修改的数据
- //参数2:是修改的数据
- if err = orm.Eloquent.Table(e.TableName()).Model(&update).Updates(&e).Error; err != nil {
- return
- }
- return
- }
- //delelte log
- func (e *BusApplication) Delete(id int) (success bool, err error) {
- if err = orm.Eloquent.Table(e.TableName()).Where("app_id = ?", id).Delete(&BusDeviceLog{}).Error; err != nil {
- success = false
- return
- }
- success = true
- return
- }
- func (e *BusApplication) BatchDelete(id []int) (Result bool, err error) {
- if err = orm.Eloquent.Table(e.TableName()).Where("app_id in (?)", id).Delete(&BusDeviceLog{}).Error; err != nil {
- return
- }
- Result = true
- return
- }
|