package svc import ( "applet/app/db" "applet/app/db/model" offical "applet/app/db/official" "applet/app/utils" "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/hc_card" "time" ) func HcRechargeGoods() { hcType := offical.SysCfgByKeyStr("hc_type") if hcType != "1" { return } param := map[string]string{} list := hc_card.HcRechargeList(param) for _, v := range list { if v.Xuzhi == "" { param1 := map[string]string{ "g_id": utils.IntToStr(v.GId), } detail := hc_card.HcRechargeDetail(param1) v.Xuzhi = detail.Xuzhi } tmp := model.HcCardCate{ AccountType: v.AccountType, GId: v.GId, GoodsLogo: v.GoodsLogo, GName: v.GName, UpdateTime: int(time.Now().Unix()), Type: "直充", Xuzhi: v.Xuzhi, IsDelete: 0, } var data model.HcCardCate db.Db.Where("g_id=? and type=?", tmp.GId, tmp.Type).Get(&data) id := 0 if data.Id > 0 { id = data.Id data.UpdateTime = int(time.Now().Unix()) data.Xuzhi = v.Xuzhi data.GName = v.GName data.GoodsLogo = v.GoodsLogo data.GId = v.GId data.AccountType = v.AccountType data.IsDelete = 0 db.Db.Where("id=?", data.Id).Update(&data) } else { db.Db.InsertOne(&tmp) id = tmp.Id } ids := []int{-1} for _, v1 := range v.Spec { specTmp := model.HcCardList{ GId: v.GId, Title: v1.Title, OfficialPrice: utils.StrToFloat64(v1.OfficialPrice), PlatPrice: utils.StrToFloat64(v1.PlatPrice), Times: v1.Times, SpecId: v1.SpecId, SpecImg: v1.SpecImg, UpdateTime: int(time.Now().Unix()), LId: id, Type: "直充", IsDelete: 0, } var specData model.HcCardList db.Db.Where("l_id=? and spec_id=?", id, v1.SpecId).Get(&specData) if specData.Id > 0 { specData.UpdateTime = int(time.Now().Unix()) specData.GId = v.GId specData.Title = v1.Title specData.OfficialPrice = utils.StrToFloat64(v1.OfficialPrice) specData.PlatPrice = utils.StrToFloat64(v1.PlatPrice) specData.Times = v1.Times specData.SpecId = v1.SpecId specData.SpecImg = v1.SpecImg specData.IsDelete = 0 db.Db.Where("id=?", data.Id).Update(&specData) } else { db.Db.InsertOne(&specTmp) } ids = append(ids, v1.SpecId) } if len(ids) > 0 { db.Db.NotIn("spec_id", ids).And("l_id=?", id).Cols("is_delete").Update(&model.HcCardList{IsDelete: 1}) } } if len(list) > 0 { db.Db.Where("type=? and update_time 0 { id = data.Id data.UpdateTime = int(time.Now().Unix()) data.Xuzhi = v.Xuzhi data.GName = v.GName data.GoodsLogo = v.GoodsLogo data.GId = v.GId data.IsDelete = 0 db.Db.Where("id=?", data.Id).Update(&data) } else { db.Db.InsertOne(&tmp) id = tmp.Id } ids := []int{-1} for _, v1 := range v.Spec { specTmp := model.HcCardList{ GId: v.GId, Title: v1.Title, OfficialPrice: utils.StrToFloat64(v1.OfficialPrice), PlatPrice: utils.StrToFloat64(v1.PlatPrice), SpecId: v1.SpecId, SpecImg: v1.SpecImg, UpdateTime: int(time.Now().Unix()), LId: id, Type: "卡券", IsDelete: 0, } var specData model.HcCardList db.Db.Where("l_id=? and spec_id=?", id, v1.SpecId).Get(&specData) if specData.Id > 0 { specData.UpdateTime = int(time.Now().Unix()) specData.GId = v.GId specData.Title = v1.Title specData.OfficialPrice = utils.StrToFloat64(v1.OfficialPrice) specData.PlatPrice = utils.StrToFloat64(v1.PlatPrice) specData.SpecId = v1.SpecId specData.SpecImg = v1.SpecImg specData.IsDelete = 0 db.Db.Where("id=?", data.Id).Update(&specData) } else { db.Db.InsertOne(&specTmp) } ids = append(ids, v1.SpecId) } if len(ids) > 0 { db.Db.NotIn("spec_id", ids).And("l_id=?", id).Cols("is_delete").Update(&model.HcCardList{IsDelete: 1}) } } if len(list) > 0 { db.Db.Where("type=? and update_time