@@ -0,0 +1,28 @@ | |||||
package db | |||||
import ( | |||||
"applet/app/db/model" | |||||
"applet/app/utils" | |||||
"xorm.io/xorm" | |||||
) | |||||
func GetActivityCate(eg *xorm.Engine, storeId string) *[]model.CommunityTeamActivityCate { | |||||
var data []model.CommunityTeamActivityCate | |||||
ids := []string{"0"} | |||||
if utils.StrToInt(storeId) > 0 { | |||||
ids = append(ids, storeId) | |||||
} | |||||
err := eg.Where("is_show=1").In("store_id", ids).OrderBy("sort desc,id desc").Find(&data) | |||||
if err != nil { | |||||
return nil | |||||
} | |||||
return &data | |||||
} | |||||
func GetActivity(eg *xorm.Engine, cid []int) *[]model.CommunityTeamActivity { | |||||
var data []model.CommunityTeamActivity | |||||
err := eg.Where("is_show=1").In("cid", cid).OrderBy("sort desc,id desc").Find(&data) | |||||
if err != nil { | |||||
return nil | |||||
} | |||||
return &data | |||||
} |
@@ -0,0 +1,18 @@ | |||||
package db | |||||
import ( | |||||
"applet/app/db/model" | |||||
"applet/app/utils" | |||||
"xorm.io/xorm" | |||||
) | |||||
func GetBankNotice(eg *xorm.Engine, args map[string]string) *[]model.CommunityTeamStoreNotice { | |||||
var data []model.CommunityTeamStoreNotice | |||||
size := utils.StrToInt(args["size"]) | |||||
start := (utils.StrToInt(args["p"]) - 1) * size | |||||
err := eg.Where("uid=?", args["uid"]).Limit(size, start).OrderBy("id desc").Find(&data) | |||||
if err != nil { | |||||
return nil | |||||
} | |||||
return &data | |||||
} |
@@ -19,8 +19,10 @@ func GetUserStore(eg *xorm.Engine, id int) *model.CommunityTeamStore { | |||||
func GetStore(eg *xorm.Engine, arg map[string]string) []map[string]string { | func GetStore(eg *xorm.Engine, arg map[string]string) []map[string]string { | ||||
lng := utils.StrToFloat64(arg["lng"]) | lng := utils.StrToFloat64(arg["lng"]) | ||||
lat := utils.StrToFloat64(arg["lat"]) | lat := utils.StrToFloat64(arg["lat"]) | ||||
sel := ` *,sqrt( ( (( %f - lng)*PI()*12656*cos((( %f +lat)/2)*PI()/180)/180) * (( %f - lng)*PI()*12656*cos (((%f+lat)/2)*PI()/180)/180) ) + ( ((%f-lat)*PI()*12656/180) * ((%f-lat)*PI()*12656/180) ) ) AS km` | |||||
sel = fmt.Sprintf(sel, lng, lat, lng, lat, lat, lat) | |||||
str := "sqrt( ( (( %f - lng)*PI()*12656*cos((( %f +lat)/2)*PI()/180)/180) * (( %f - lng)*PI()*12656*cos (((%f+lat)/2)*PI()/180)/180) ) + ( ((%f-lat)*PI()*12656/180) * ((%f-lat)*PI()*12656/180) ) )" | |||||
str = fmt.Sprintf(str, lng, lat, lng, lat, lat, lat) | |||||
sel := ` *,%s AS km` | |||||
sel = fmt.Sprintf(sel, str) | |||||
sql := `select %s from community_team_store where %s %s` | sql := `select %s from community_team_store where %s %s` | ||||
where := "state=1" | where := "state=1" | ||||
if arg["parent_uid"] != "" { | if arg["parent_uid"] != "" { | ||||
@@ -37,6 +39,20 @@ func GetStore(eg *xorm.Engine, arg map[string]string) []map[string]string { | |||||
if arg["store_id"] != "" { | if arg["store_id"] != "" { | ||||
where += " and uid = '" + arg["store_id"] + "'" | where += " and uid = '" + arg["store_id"] + "'" | ||||
} | } | ||||
if arg["work_state"] != "" { | |||||
where += " and work_state = '" + arg["work_state"] + "'" | |||||
} | |||||
if arg["is_new"] != "" { | |||||
where += " and is_new = '" + arg["is_new"] + "'" | |||||
} | |||||
if utils.StrToFloat64(arg["km"]) > 0 { | |||||
where += " and " + str + "<=" + utils.Float64ToStr(utils.StrToFloat64(arg["km"])/1000) | |||||
} else { | |||||
if arg["city_id"] == "" || utils.StrToFloat64(arg["lat"]) == 0 { | |||||
where += " and " + str + "<=1000" | |||||
} | |||||
} | |||||
//if arg["city"] != "" { | //if arg["city"] != "" { | ||||
// where += " and city like '%" + arg["city"] + "%'" | // where += " and city like '%" + arg["city"] + "%'" | ||||
//} | //} | ||||
@@ -67,8 +83,10 @@ func GetStore(eg *xorm.Engine, arg map[string]string) []map[string]string { | |||||
func GetStoreLike(eg *xorm.Engine, arg map[string]string) []map[string]string { | func GetStoreLike(eg *xorm.Engine, arg map[string]string) []map[string]string { | ||||
lng := utils.StrToFloat64(arg["lng"]) | lng := utils.StrToFloat64(arg["lng"]) | ||||
lat := utils.StrToFloat64(arg["lat"]) | lat := utils.StrToFloat64(arg["lat"]) | ||||
sel := ` cts.*,sqrt( ( (( %f - cts.lng)*PI()*12656*cos((( %f +cts.lat)/2)*PI()/180)/180) * (( %f - cts.lng)*PI()*12656*cos (((%f+cts.lat)/2)*PI()/180)/180) ) + ( ((%f-cts.lat)*PI()*12656/180) * ((%f-cts.lat)*PI()*12656/180) ) ) AS km` | |||||
sel = fmt.Sprintf(sel, lng, lat, lng, lat, lat, lat) | |||||
str := "sqrt( ( (( %f - lng)*PI()*12656*cos((( %f +lat)/2)*PI()/180)/180) * (( %f - lng)*PI()*12656*cos (((%f+lat)/2)*PI()/180)/180) ) + ( ((%f-lat)*PI()*12656/180) * ((%f-lat)*PI()*12656/180) ) )" | |||||
str = fmt.Sprintf(str, lng, lat, lng, lat, lat, lat) | |||||
sel := ` cts.*,%s AS km` | |||||
sel = fmt.Sprintf(sel, str) | |||||
sql := `select %s from community_team_store_like ctsl | sql := `select %s from community_team_store_like ctsl | ||||
left join community_team_store cts on ctsl.store_id=cts.id | left join community_team_store cts on ctsl.store_id=cts.id | ||||
where %s %s` | where %s %s` | ||||
@@ -84,11 +102,23 @@ where %s %s` | |||||
where += " and cts.store_type=" + arg["store_type"] | where += " and cts.store_type=" + arg["store_type"] | ||||
} | } | ||||
} | } | ||||
if utils.StrToFloat64(arg["km"]) > 0 { | |||||
where += " and " + str + "<=" + utils.Float64ToStr(utils.StrToFloat64(arg["km"])/1000) | |||||
} | |||||
if arg["store_id"] != "" { | if arg["store_id"] != "" { | ||||
where += " and cts.uid = '" + arg["store_id"] + "'" | where += " and cts.uid = '" + arg["store_id"] + "'" | ||||
} | } | ||||
if arg["city"] != "" { | |||||
where += " and cts.city='" + arg["city"] + "'" | |||||
//if arg["city"] != "" { | |||||
// where += " and cts.city='" + arg["city"] + "'" | |||||
//} | |||||
if arg["province_id"] != "" { | |||||
where += " and cts.province_id = '" + arg["province_id"] + "'" | |||||
} | |||||
if arg["city_id"] != "" { | |||||
where += " and cts.city_id = '" + arg["city_id"] + "'" | |||||
} | |||||
if arg["district_id"] != "" { | |||||
where += " and cts.district_id = '" + arg["district_id"] + "'" | |||||
} | } | ||||
if arg["name"] != "" { | if arg["name"] != "" { | ||||
where += " and cts.name like '%" + arg["name"] + "'" | where += " and cts.name like '%" + arg["name"] + "'" | ||||
@@ -0,0 +1,12 @@ | |||||
package model | |||||
type CommunityTeamActivity struct { | |||||
Id int `json:"id" xorm:"not null pk autoincr INT(11)"` | |||||
Name string `json:"name" xorm:"Varchar(255)"` | |||||
StoreId int `json:"store_id" xorm:"INT(11)"` | |||||
Sort int `json:"sort" xorm:"INT(11)"` | |||||
Cid int `json:"cid" xorm:"INT(11)"` | |||||
IsShow int `json:"is_show" xorm:"default 1 INT(1)"` | |||||
Img string `json:"img" xorm:"VARCHAR(255)"` | |||||
Skip string `json:"skip" xorm:"TEXT"` | |||||
} |
@@ -0,0 +1,9 @@ | |||||
package model | |||||
type CommunityTeamActivityCate struct { | |||||
Id int `json:"id" xorm:"not null pk autoincr INT(11)"` | |||||
Name string `json:"name" xorm:"varchar(11)"` | |||||
StoreId int `json:"store_id" xorm:"INT(11)"` | |||||
Sort int `json:"sort" xorm:"INT(11)"` | |||||
IsShow int `json:"is_show" xorm:"default 1 INT(1)"` | |||||
} |
@@ -19,6 +19,7 @@ type CommunityTeamStore struct { | |||||
UpdateAt time.Time `json:"update_at" xorm:"DATETIME"` | UpdateAt time.Time `json:"update_at" xorm:"DATETIME"` | ||||
State int `json:"state" xorm:"default 0 comment('0非店长 1店长') INT(1)"` | State int `json:"state" xorm:"default 0 comment('0非店长 1店长') INT(1)"` | ||||
WorkState int `json:"work_state" xorm:"default 0 comment('0营业中 1休息中') INT(1)"` | WorkState int `json:"work_state" xorm:"default 0 comment('0营业中 1休息中') INT(1)"` | ||||
Fan int `json:"fan" xorm:"default 0 comment('') INT(1)"` | |||||
Name string `json:"name" xorm:"VARCHAR(255)"` | Name string `json:"name" xorm:"VARCHAR(255)"` | ||||
Province string `json:"province" xorm:"comment('省级的名称') VARCHAR(255)"` | Province string `json:"province" xorm:"comment('省级的名称') VARCHAR(255)"` | ||||
City string `json:"city" xorm:"comment('市级的名称') VARCHAR(255)"` | City string `json:"city" xorm:"comment('市级的名称') VARCHAR(255)"` | ||||
@@ -74,9 +74,31 @@ func BankStoreCate(c *gin.Context) { | |||||
e.OutSuc(c, res, nil) | e.OutSuc(c, res, nil) | ||||
return | return | ||||
} | } | ||||
func BankStoreNewCate(c *gin.Context) { | |||||
second := []map[string]string{ | |||||
{"type": "km", "value": "500", "name": "附近 500m"}, | |||||
{"type": "km", "value": "1000", "name": "附近 1km"}, | |||||
{"type": "km", "value": "2000", "name": "附近 2km"}, | |||||
{"type": "km", "value": "5000", "name": "附近 5km"}, | |||||
} | |||||
var res = []map[string]interface{}{ | |||||
{"name": "附近网点", "type": "km", "value": "", "has_second": "1", "second": second}, | |||||
{"name": "营业中", "type": "work_state", "value": "0", "has_second": "0", "second": []map[string]string{}}, | |||||
{"name": "新网点", "type": "is_new", "value": "1", "has_second": "0", "second": []map[string]string{}}, | |||||
{"name": "关注网点", "type": "is_like", "value": "1", "has_second": "0", "second": []map[string]string{}}, | |||||
} | |||||
e.OutSuc(c, res, nil) | |||||
return | |||||
} | |||||
func BankStore(c *gin.Context) { | func BankStore(c *gin.Context) { | ||||
svc.BankStore(c) | svc.BankStore(c) | ||||
} | } | ||||
func BankActivity(c *gin.Context) { | |||||
svc.BankActivity(c) | |||||
} | |||||
func BankNotice(c *gin.Context) { | |||||
svc.BankNotice(c) | |||||
} | |||||
func NewStoreCate(c *gin.Context) { | func NewStoreCate(c *gin.Context) { | ||||
var res = []map[string]string{ | var res = []map[string]string{ | ||||
{"name": "全部店铺", "value": ""}, | {"name": "全部店铺", "value": ""}, | ||||
@@ -0,0 +1,112 @@ | |||||
package md | |||||
type Skip struct { | |||||
CateTag string `json:"cate_tag"` | |||||
Data CommModData `json:"data"` | |||||
IsEnd string `json:"is_end"` | |||||
IsJump string `json:"is_jump"` | |||||
Name string `json:"name"` | |||||
RequiredLogin string `json:"required_login"` | |||||
RequiredTaobaoAuth string `json:"required_taobao_auth"` | |||||
SkipIdentifier string `json:"skip_identifier"` | |||||
SkipName string `json:"skip_name"` | |||||
URL string `json:"url"` | |||||
} | |||||
type CommModData struct { | |||||
AppKey string `json:"app_key"` | |||||
LinkName string `json:"link_name"` | |||||
AdvInfo string `json:"adv_info"` | |||||
StoreId string `json:"store_id"` | |||||
Url string `json:"url"` | |||||
AppId string `json:"app_id"` | |||||
AlipayUrl string `json:"alipay_url"` | |||||
AlipayAppid string `json:"alipay_appid"` | |||||
ActivityId string `json:"activity_id"` | |||||
Id string `json:"id"` | |||||
AdName string `json:"ad_name"` | |||||
AndroidAdID string `json:"android_ad_id"` | |||||
AndroidMediaID string `json:"android_media_id"` | |||||
AutoClickAd string `json:"auto_click_ad"` | |||||
Autoplay string `json:"autoplay"` | |||||
BrandID string `json:"brand_id"` | |||||
Conditions string `json:"conditions"` | |||||
CreateAt string `json:"create_at"` | |||||
EndTime string `json:"end_time"` | |||||
Img string `json:"img"` | |||||
IosAdID string `json:"ios_ad_id"` | |||||
IosMediaID string `json:"ios_media_id"` | |||||
IsRecommend interface{} `json:"is_recommend"` | |||||
LevelLimitID string `json:"level_limit_id"` | |||||
LevelLimitName string `json:"level_limit_name"` | |||||
LevelWeight string `json:"level_weight"` | |||||
NeedLocation int64 `json:"need_location"` | |||||
SdkType string `json:"sdk_type"` | |||||
AdvType string `json:"adv_type"` | |||||
Type string `json:"type"` | |||||
SourceType string `json:"source_type"` | |||||
StartTime string `json:"start_time"` | |||||
UpdateAt string `json:"update_at"` | |||||
VisitCount string `json:"visit_count"` | |||||
IsCanBuy string `json:"is_can_buy"` | |||||
IsShowCouponList string `json:"is_show_coupon_list"` | |||||
UserCouponAmount string `json:"user_coupon_amount"` | |||||
Coupon string `json:"coupon"` | |||||
CountingDown string `json:"counting_down" ` | |||||
FunctionSkipType string `json:"function_skip_type"` | |||||
OpenType string `json:"open_type" ` //app 应用内打开 browser 系统浏览器打开 | |||||
GoodsId string `json:"goods_id"` | |||||
GoodsType string `json:"goods_type"` | |||||
FromCoinId string `json:"from_coin_id"` | |||||
ToCoinId string `json:"to_coin_id"` | |||||
LevelType string `json:"level_type"` | |||||
TransferType string `json:"transfer_type"` | |||||
CoinId string `json:"coin_id"` | |||||
ChannelId string `json:"channel_id"` | |||||
SecretKey string `json:"secret_key"` | |||||
OrderType string `json:"order_type"` | |||||
Platform string `json:"platform"` | |||||
SecondAdvList AdvCommModData `json:"second_adv_list"` | |||||
ThirdAdvList AdvCommModData `json:"third_adv_list"` | |||||
HwData map[string]string `json:"hw_data"` | |||||
//IsShowConditionPop string `json:"is_show_condition_pop"` | |||||
//ShowConditionStr string `json:"show_condition_str"` | |||||
//ShowConditionSkip SkipData `json:"show_condition_skip"` | |||||
CustomPosterPop CustomPosterPop `json:"custom_poster_pop"` | |||||
CustomContentPop CustomContentPop `json:"custom_content_pop"` | |||||
} | |||||
type CustomContentPop struct { | |||||
CloseImg string `json:"close_img"` | |||||
CloseImgUrl string `json:"close_img_url"` | |||||
TopImg string `json:"top_img"` | |||||
TopImgUrl string `json:"top_img_url"` | |||||
BgImg string `json:"bg_img"` | |||||
BgImgUrl string `json:"bg_img_url"` | |||||
TipContentColor string `json:"tip_content_color"` | |||||
CopyContent string `json:"copy_content"` | |||||
TipContent string `json:"tip_content"` | |||||
BtnBgColor string `json:"btn_bg_color"` | |||||
BtnContentColor string `json:"btn_content_color"` | |||||
BtnContent string `json:"btn_content"` | |||||
IsJumpWechat string `json:"is_jump_wechat"` | |||||
} | |||||
type AdvCommModData struct { | |||||
Id string `json:"id"` | |||||
AdName string `json:"ad_name"` | |||||
AndroidAdID string `json:"android_ad_id"` | |||||
AndroidMediaID string `json:"android_media_id"` | |||||
AutoClickAd string `json:"auto_click_ad"` | |||||
Autoplay string `json:"autoplay"` | |||||
IosAdID string `json:"ios_ad_id"` | |||||
IosMediaID string `json:"ios_media_id"` | |||||
SdkType string `json:"sdk_type"` | |||||
AdvType string `json:"adv_type"` | |||||
} | |||||
type CustomPosterPop struct { | |||||
Img string `json:"img"` | |||||
ImgUrl string `json:"img_url"` | |||||
ShareBtnImg string `json:"share_btn_img"` | |||||
ShareBtnImgUrl string `json:"share_btn_img_url"` | |||||
SaveBtnImg string `json:"save_btn_img"` | |||||
SaveBtnImgUrl string `json:"save_btn_img_url"` | |||||
} |
@@ -146,7 +146,11 @@ func routeCommunityTeam(r *gin.RouterGroup) { | |||||
r.POST("/store/pay/info", hdl.StorePayInfo) | r.POST("/store/pay/info", hdl.StorePayInfo) | ||||
r.POST("/city", hdl.City) | r.POST("/city", hdl.City) | ||||
r.GET("/bank/store/cate", hdl.BankStoreCate) | r.GET("/bank/store/cate", hdl.BankStoreCate) | ||||
r.GET("/bank/store/new/cate", hdl.BankStoreNewCate) | |||||
r.POST("/bank/store/list", hdl.BankStore) | r.POST("/bank/store/list", hdl.BankStore) | ||||
r.POST("/bank/store/activity", hdl.BankActivity) | |||||
r.POST("/bank/store/notice", hdl.BankNotice) | |||||
r.GET("/new/store/cate", hdl.NewStoreCate) | r.GET("/new/store/cate", hdl.NewStoreCate) | ||||
r.POST("/new/store/list", hdl.NewStore) | r.POST("/new/store/list", hdl.NewStore) | ||||
r.POST("/store", hdl.Store) | r.POST("/store", hdl.Store) | ||||
@@ -4,7 +4,9 @@ import ( | |||||
"applet/app/db" | "applet/app/db" | ||||
"applet/app/db/model" | "applet/app/db/model" | ||||
"applet/app/e" | "applet/app/e" | ||||
"applet/app/md" | |||||
"applet/app/utils" | "applet/app/utils" | ||||
"encoding/json" | |||||
"github.com/gin-gonic/gin" | "github.com/gin-gonic/gin" | ||||
"time" | "time" | ||||
) | ) | ||||
@@ -140,7 +142,7 @@ func BankStore(c *gin.Context) { | |||||
arg["store_type"] = "0" | arg["store_type"] = "0" | ||||
user, _ := GetDefaultUser(c, c.GetHeader("Authorization")) | user, _ := GetDefaultUser(c, c.GetHeader("Authorization")) | ||||
var store = make([]map[string]string, 0) | var store = make([]map[string]string, 0) | ||||
if arg["cid"] == "2" { | |||||
if arg["cid"] == "2" || arg["is_like"] == "1" { | |||||
store = db.GetStoreLike(MasterDb(c), arg) | store = db.GetStoreLike(MasterDb(c), arg) | ||||
} else { | } else { | ||||
store = db.GetStore(MasterDb(c), arg) | store = db.GetStore(MasterDb(c), arg) | ||||
@@ -157,6 +159,14 @@ func BankStore(c *gin.Context) { | |||||
if utils.StrToFloat64(km) <= 0 || utils.StrToFloat64(v["lat"]) == 0 || utils.StrToFloat64(v["lng"]) == 0 { | if utils.StrToFloat64(km) <= 0 || utils.StrToFloat64(v["lat"]) == 0 || utils.StrToFloat64(v["lng"]) == 0 { | ||||
v["km"] = "-" | v["km"] = "-" | ||||
} | } | ||||
label := make([]string, 0) | |||||
if v["is_new"] == "1" { | |||||
label = append(label, "新门店") | |||||
} | |||||
isWork := "1" | |||||
if v["work_state"] == "1" { | |||||
isWork = "0" | |||||
} | |||||
tmp := map[string]interface{}{ | tmp := map[string]interface{}{ | ||||
"lat": v["lat"], | "lat": v["lat"], | ||||
"lng": v["lng"], | "lng": v["lng"], | ||||
@@ -168,8 +178,13 @@ func BankStore(c *gin.Context) { | |||||
"uid": v["uid"], | "uid": v["uid"], | ||||
"phone": v["phone"], | "phone": v["phone"], | ||||
"logo": v["logo"], | "logo": v["logo"], | ||||
"is_work": isWork, | |||||
"is_like": "0", | "is_like": "0", | ||||
"fan": "", | "fan": "", | ||||
"label": label, | |||||
} | |||||
if utils.StrToInt(v["fan"]) > 0 { | |||||
tmp["fan"] = v["fan"] | |||||
} | } | ||||
if user != nil { | if user != nil { | ||||
count, _ := MasterDb(c).Where("uid=? and store_id=?", user.Info.Uid, v["id"]).Count(&model.CommunityTeamStoreLike{}) | count, _ := MasterDb(c).Where("uid=? and store_id=?", user.Info.Uid, v["id"]).Count(&model.CommunityTeamStoreLike{}) | ||||
@@ -182,6 +197,76 @@ func BankStore(c *gin.Context) { | |||||
e.OutSuc(c, storeList, nil) | e.OutSuc(c, storeList, nil) | ||||
return | return | ||||
} | } | ||||
func BankNotice(c *gin.Context) { | |||||
var arg map[string]string | |||||
if err := c.ShouldBindJSON(&arg); err != nil { | |||||
e.OutErr(c, e.ERR_INVALID_ARGS, err) | |||||
return | |||||
} | |||||
data := db.GetBankNotice(MasterDb(c), arg) | |||||
list := make([]map[string]string, 0) | |||||
if data != nil { | |||||
for _, v := range *data { | |||||
tmp := map[string]string{ | |||||
"id": utils.IntToStr(v.Id), | |||||
"title": v.Title, | |||||
"content": v.Content, | |||||
"create_time": v.CreateTime.Format("2006-01-02 15:04"), | |||||
} | |||||
list = append(list, tmp) | |||||
} | |||||
} | |||||
e.OutSuc(c, list, nil) | |||||
return | |||||
} | |||||
func BankActivity(c *gin.Context) { | |||||
var arg map[string]string | |||||
if err := c.ShouldBindJSON(&arg); err != nil { | |||||
e.OutErr(c, e.ERR_INVALID_ARGS, err) | |||||
return | |||||
} | |||||
list := make([]map[string]interface{}, 0) | |||||
cate := db.GetActivityCate(MasterDb(c), arg["uid"]) | |||||
if cate != nil { | |||||
ids := make([]int, 0) | |||||
for _, v := range *cate { | |||||
ids = append(ids, v.Id) | |||||
} | |||||
activityMap := make(map[int][]map[string]interface{}) | |||||
if len(ids) > 0 { | |||||
activity := db.GetActivity(MasterDb(c), ids) | |||||
if activity != nil { | |||||
scheme, host := ImageBucket(c) | |||||
for _, v := range *activity { | |||||
_, ok := activityMap[v.Cid] | |||||
if ok == false { | |||||
activityMap[v.Cid] = make([]map[string]interface{}, 0) | |||||
} | |||||
var skip md.Skip | |||||
json.Unmarshal(utils.MarshalJSONCamelCase2JsonSnakeCase(v.Skip), &skip) | |||||
tmp := map[string]interface{}{ | |||||
"name": v.Name, "img": ImageFormatWithBucket(scheme, host, v.Img), "skip": skip, | |||||
} | |||||
activityMap[v.Cid] = append(activityMap[v.Cid], tmp) | |||||
} | |||||
} | |||||
} | |||||
for _, v := range *cate { | |||||
tmpList := make([]map[string]interface{}, 0) | |||||
_, ok := activityMap[v.Id] | |||||
if ok { | |||||
tmpList = activityMap[v.Id] | |||||
} | |||||
tmp := map[string]interface{}{ | |||||
"name": v.Name, | |||||
"list": tmpList, | |||||
} | |||||
list = append(list, tmp) | |||||
} | |||||
} | |||||
e.OutSuc(c, list, nil) | |||||
return | |||||
} | |||||
func NewStore(c *gin.Context) { | func NewStore(c *gin.Context) { | ||||
var arg map[string]string | var arg map[string]string | ||||
if err := c.ShouldBindJSON(&arg); err != nil { | if err := c.ShouldBindJSON(&arg); err != nil { | ||||
@@ -367,6 +452,9 @@ func StoreAddLike(c *gin.Context) { | |||||
Time: time.Now(), | Time: time.Now(), | ||||
} | } | ||||
MasterDb(c).Insert(&data) | MasterDb(c).Insert(&data) | ||||
store := db.GetStoreIdEg(MasterDb(c), arg["id"]) | |||||
store.Fan++ | |||||
MasterDb(c).Where("id=?", store.Id).Cols("fan").Update(store) | |||||
e.OutSuc(c, "success", nil) | e.OutSuc(c, "success", nil) | ||||
return | return | ||||
} | } | ||||
@@ -379,6 +467,12 @@ func StoreCancelLike(c *gin.Context) { | |||||
} | } | ||||
user := GetUser(c) | user := GetUser(c) | ||||
MasterDb(c).Where("uid=? and store_id=?", user.Info.Uid, arg["id"]).Delete(&model.CommunityTeamStoreLike{}) | MasterDb(c).Where("uid=? and store_id=?", user.Info.Uid, arg["id"]).Delete(&model.CommunityTeamStoreLike{}) | ||||
store := db.GetStoreIdEg(MasterDb(c), arg["id"]) | |||||
store.Fan-- | |||||
if store.Fan < 0 { | |||||
store.Fan = 0 | |||||
} | |||||
MasterDb(c).Where("id=?", store.Id).Cols("fan").Update(store) | |||||
e.OutSuc(c, "success", nil) | e.OutSuc(c, "success", nil) | ||||
return | return | ||||
} | } |