|
@@ -1502,3 +1502,144 @@ func GetEdbInfoAdminList() (list []int, err error) {
|
|
_, err = o.Raw(sql).QueryRows(&list)
|
|
_, err = o.Raw(sql).QueryRows(&list)
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+// GetAllChildManualEdbClassify
|
|
|
|
+// @Description: 获取手工数据中所有的子分类
|
|
|
|
+// @author: Roc
|
|
|
|
+// @datetime 2024-07-16 13:27:28
|
|
|
|
+// @return items []*EdbdataClassify
|
|
|
|
+// @return err error
|
|
|
|
+func GetAllChildManualEdbClassify() (items []*EdbdataClassify, err error) {
|
|
|
|
+ o := orm.NewOrmUsingDB("edb")
|
|
|
|
+
|
|
|
|
+ sql := ` SELECT classify_id,classify_name,parent_id FROM edbdata_classify WHERE parent_id > 0 `
|
|
|
|
+ _, err = o.Raw(sql).QueryRows(&items)
|
|
|
|
+
|
|
|
|
+ return
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// GetChildManualEdbClassifyByIdList
|
|
|
|
+// @Description: 获取手工数据中所有的子分类
|
|
|
|
+// @author: Roc
|
|
|
|
+// @datetime 2024-07-16 13:33:57
|
|
|
|
+// @param idList []int
|
|
|
|
+// @return items []*EdbdataClassify
|
|
|
|
+// @return err error
|
|
|
|
+func GetChildManualEdbClassifyByIdList(idList []int) (items []*EdbdataClassify, err error) {
|
|
|
|
+ num := len(idList)
|
|
|
|
+ if num <= 0 {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ o := orm.NewOrmUsingDB("edb")
|
|
|
|
+
|
|
|
|
+ sql := ` SELECT classify_id,classify_name,parent_id FROM edbdata_classify WHERE classify_id in (` + utils.GetOrmInReplace(num) + `) `
|
|
|
|
+ _, err = o.Raw(sql, idList).QueryRows(&items)
|
|
|
|
+
|
|
|
|
+ return
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// GetManualEdbList 获取指标列表数据
|
|
|
|
+func GetManualEdbList(classifyId, edbShowType int, frequency, keyword, tradeCode string, classifyIdStrList []string) (items []*EdbInfoItem, err error) {
|
|
|
|
+ o := orm.NewOrmUsingDB("edb")
|
|
|
|
+
|
|
|
|
+ pars := make([]interface{}, 0)
|
|
|
|
+
|
|
|
|
+ sql := ` SELECT a.*,'' modify_date,'' STATUS FROM edbinfo AS a `
|
|
|
|
+
|
|
|
|
+ sql += ` WHERE LEFT(a.TRADE_CODE,1)='W' AND a.REMARK='手动' AND a.classify_id>0 `
|
|
|
|
+
|
|
|
|
+ //如果没有分类id集合列表,那么就没有数据了,不用往下执行了,直接返回好了
|
|
|
|
+ if len(classifyIdStrList) <= 0 {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if len(classifyIdStrList) > 0 {
|
|
|
|
+ sql += ` AND a.classify_id in (` + strings.Join(classifyIdStrList, ",") + `) `
|
|
|
|
+ }
|
|
|
|
+ if classifyId > 0 {
|
|
|
|
+ sql += ` AND a.classify_id=` + strconv.Itoa(classifyId) + ` `
|
|
|
|
+ }
|
|
|
|
+ //频度
|
|
|
|
+ if frequency != "" {
|
|
|
|
+ sql += ` AND a.frequency="` + frequency + `" `
|
|
|
|
+ }
|
|
|
|
+ //关键字
|
|
|
|
+ if keyword != "" {
|
|
|
|
+ sql += ` AND (a.SEC_NAME like ? or a.TRADE_CODE like ? )`
|
|
|
|
+ pars = utils.GetLikeKeywordPars(pars, keyword, 2)
|
|
|
|
+ }
|
|
|
|
+ //指定指标
|
|
|
|
+ if tradeCode != "" {
|
|
|
|
+ sql += ` AND a.TRADE_CODE = "` + tradeCode + `" `
|
|
|
|
+ }
|
|
|
|
+ //指标里面是否有数据
|
|
|
|
+ switch edbShowType {
|
|
|
|
+ case 1:
|
|
|
|
+ sql += ` AND b.CLOSE is not null `
|
|
|
|
+ case 2:
|
|
|
|
+ sql += ` AND b.CLOSE is null `
|
|
|
|
+ }
|
|
|
|
+ sql += ` GROUP BY a.TRADE_CODE `
|
|
|
|
+
|
|
|
|
+ sql = sql + ` ORDER BY CONVERT(a.SEC_NAME USING gbk ) COLLATE gbk_chinese_ci ASC `
|
|
|
|
+ _, err = o.Raw(sql, pars).QueryRows(&items)
|
|
|
|
+ return
|
|
|
|
+
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// TargetDetailResp 指标数据结构体
|
|
|
|
+type TargetDetailResp struct {
|
|
|
|
+ Detail *EdbInfoItem
|
|
|
|
+ FrequencyList []*Edbdata
|
|
|
|
+ ClassifyList []*EdbdataClassify
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// GetTargetByTradeCode
|
|
|
|
+// @Description: 根据手工指标编码获取指标信息
|
|
|
|
+// @author: Roc
|
|
|
|
+// @datetime 2024-07-16 14:18:10
|
|
|
|
+// @param tradeCode string
|
|
|
|
+// @return item *Edbinfo
|
|
|
|
+// @return err error
|
|
|
|
+func GetTargetByTradeCode(tradeCode string) (item *EdbInfoItem, err error) {
|
|
|
|
+ sql := `SELECT * FROM edbinfo WHERE TRADE_CODE = ? `
|
|
|
|
+ o := orm.NewOrmUsingDB("edb")
|
|
|
|
+ err = o.Raw(sql, tradeCode).QueryRow(&item)
|
|
|
|
+ return
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// GetCountManualUserClassify
|
|
|
|
+// @Description: 根据用户ID和分类ID获取关系数量
|
|
|
|
+// @author: Roc
|
|
|
|
+// @datetime 2024-07-16 14:27:58
|
|
|
|
+// @param sysUserId int
|
|
|
|
+// @param classifyId int
|
|
|
|
+// @return total int
|
|
|
|
+// @return err error
|
|
|
|
+func GetCountManualUserClassify(sysUserId, classifyId int) (total int, err error) {
|
|
|
|
+ o := orm.NewOrmUsingDB("data")
|
|
|
|
+ sql := `SELECT count(1) ct FROM manual_user_classify WHERE admin_id=? AND classify_id = ? `
|
|
|
|
+ err = o.Raw(sql, sysUserId, classifyId).QueryRow(&total)
|
|
|
|
+
|
|
|
|
+ return
|
|
|
|
+}
|
|
|
|
+func GetManualClassifyByClassifyId(classifyId int) (item *EdbdataClassify, err error) {
|
|
|
|
+ o := orm.NewOrmUsingDB("edb")
|
|
|
|
+ sql := ` SELECT classify_id,classify_name,parent_id FROM edbdata_classify WHERE classify_id = ? `
|
|
|
|
+ err = o.Raw(sql, classifyId).QueryRow(&item)
|
|
|
|
+
|
|
|
|
+ return
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// GetEdbDataListByCode
|
|
|
|
+// @Description: 通过指标ID获取所有数据
|
|
|
|
+// @author: Roc
|
|
|
|
+// @datetime 2024-07-16 15:32:41
|
|
|
|
+// @param tradeCode string
|
|
|
|
+// @return items []*Edbdata
|
|
|
|
+// @return err error
|
|
|
|
+func GetEdbDataListByCode(tradeCode string) (items []*Edbdata, err error) {
|
|
|
|
+ sql := ` SELECT TRADE_CODE,DT,round(CLOSE,4) CLOSE,modify_time FROM edbdata WHERE TRADE_CODE = ? GROUP BY TRADE_CODE,DT ORDER BY DT DESC `
|
|
|
|
+ o := orm.NewOrmUsingDB("edb")
|
|
|
|
+ _, err = o.Raw(sql, tradeCode).QueryRows(&items)
|
|
|
|
+ return
|
|
|
|
+}
|