| 
					
				 | 
			
			
				@@ -19,9 +19,9 @@ type Capabilities struct { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	CapUrl         string  `gorm:"type:varchar(255);" json:"cap_url"`                       // 应用地址 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	Price          float64 `gorm:"type:decimal(10,5);" json:"price"`                        //价格 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	Count          int64   `gorm:"type:int;" json:"count"`                                  // 使用数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	PcIsShow       int     `gorm:"type:int;" json:"pc_is_show"`                             // 是否pc端显示 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	MobileIsShow   int     `gorm:"type:int;" json:"mobile_is_show"`                         // 是否移动端显示 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	IsAdd          int     `gorm:"type:int;" json:"is_add"`                                 // 是否添加 1已添加 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 type CapabilitiesApply struct { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	utils.BaseModel 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	CapId string `gorm:"type:varchar(50);" json:"cap_id"` // 功能id 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -36,6 +36,8 @@ type CapabilitiesDto struct { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 func (c Capabilities) TableName() string { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	return "capabilities" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// AddCapabilities 添加应用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 func (c Capabilities) AddCapabilities(capabilities Capabilities) e.Rescode { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	//TODO implement me 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -53,8 +55,10 @@ func (c Capabilities) AddCapabilities(capabilities Capabilities) e.Rescode { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	return e.INSERTFAIL 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-func (c Capabilities) GetCapabilitiesList(params unity.QueryPageParams, capabilities Capabilities, queryCond interface{}) (result []Capabilities, total int64, err error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// GetCapabilitiesList 获取应用列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+func (c Capabilities) GetCapabilitiesList(params unity.CapQueryPageParams, capabilities Capabilities, queryCond interface{}) (result []Capabilities, total int64, err error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	//TODO implement me 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	query := global.DBLink.Table(capabilities.TableName()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	if params.Query != "%%" { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		query = query.Where(queryCond, params.Query) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -62,15 +66,35 @@ func (c Capabilities) GetCapabilitiesList(params unity.QueryPageParams, capabili 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	if params.State != "" { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		query = query.Where("state=?", params.State) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if err = query.Count(&total).Error; err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err = query.Where("state=?", 1).Count(&total).Error; err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return nil, 0, err 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	offset := (params.Page - 1) * params.Size 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if err = query.Offset(offset).Limit(params.Size).Order(params.Desc).Find(&result).Error; err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err = query.Where("state=?", 1).Offset(offset).Limit(params.Size).Order(params.Desc).Find(&result).Error; err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return nil, 0, err 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	tablename := "appcap_" + params.AppId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	var appcap []ApplyCap 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	tx := global.DBLink.Table(tablename).Select("cap_id").Find(&appcap) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if tx.Error != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if strings.Contains(tx.Error.Error(), "Error 1146 (42S02)") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return result, total, nil 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return nil, 0, tx.Error 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	capIdsMap := make(map[string]bool) // 假设cap_id类型为uint 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	for _, app := range appcap { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		capIdsMap[app.CapId] = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	for i, _ := range result { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if _, exists := capIdsMap[result[i].CapId]; exists { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			result[i].IsAdd = 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	return result, total, nil 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// AdminGetCapabilitiesList 管理员获取应用列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 func (c Capabilities) AdminGetCapabilitiesList(params unity.QueryPageParams, capabilities Capabilities, queryCond interface{}) (result []CapabilitiesDto, total int64, err error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	//TODO implement me 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	query := global.DBLink.Table(capabilities.TableName()) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -87,14 +111,44 @@ func (c Capabilities) AdminGetCapabilitiesList(params unity.QueryPageParams, cap 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	if err = query.Offset(offset).Limit(params.Size).Order(params.Desc).Find(&result).Error; err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return nil, 0, err 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	//for i, _ := range result { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	//} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	return result, total, nil 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-func (c Capabilities) GetCapabilitiesById(id string) (Capabilities, error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// GetCapabilitiesById 根据id获取应用信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+func (c Capabilities) GetCapabilitiesById(id string) (Capabilities, e.Rescode) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	//TODO implement me 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	tx := global.DBLink.Table(c.TableName()).Select("cap_name", "image", "cap_id", "cap_description", "state", "cap_url", "price").Where("cap_id = ?", id).First(&c) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if tx.Error != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return c, e.FINDFAIL 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if tx.RowsAffected > 0 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return c, e.SUCCESS 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return c, e.FINDFAIL 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// UpdateCapabilities 更新应用信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+func (c Capabilities) UpdateCapabilities(capabilities Capabilities) e.Rescode { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	//TODO implement me 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	tx := global.DBLink.Table(c.TableName()).Where("cap_id = ?", capabilities.CapId).Updates(&capabilities) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if tx.Error != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return e.UPDATEFAIL 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if tx.RowsAffected > 0 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return e.SUCCESS 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return e.UPDATEFAIL 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+func (c Capabilities) DeleteCapabilities(capid string) e.Rescode { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	//TODO implement me 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	panic("implement me") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	tx := global.DBLink.Table(c.TableName()).Where("cap_id = ?", capid).Delete(&Capabilities{}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if tx.Error != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return e.DELETEFAIL 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if tx.RowsAffected > 0 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return e.SUCCESS 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return e.DELETEFAIL 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // CapIdISRepeat 检查CapId是否重复 
			 |