| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- package cron_controller
- import (
- "github.com/astaxie/beego"
- "github.com/astaxie/beego/context"
- "fohow.com/apps"
- "fohow.com/libs/tool"
- "strings"
- )
- var (
- //不需要校验用户登录的Action
- exceptCheckUserLoginAction = []string{"Cron"}
- exceptCheckWxUserLoginAction = []string{"Cron"}
- )
- type CronController struct {
- apps.BaseController
- }
- func (self *CronController) Init(ctx *context.Context, controllerName, actionName string, app interface{}) {
- // beego.BeeLogger.Info("invote controller Init func")
- self.BaseController.Init(ctx, controllerName, actionName, app)
- self.ExceptCheckUserLoginAction = exceptCheckUserLoginAction
- self.ExceptCheckWxUserLoginAction = exceptCheckWxUserLoginAction
- }
- // http://api.d5c360.com/v1/cron/:name(project_loan)
- func (self *CronController) Cron() {
- name := self.Ctx.Input.Param(":name")
- ip := self.Ctx.Input.IP()
- //beego.BeeLogger.Error("get ip: %s", ip)
- beego.BeeLogger.Info("Request ip ", strings.Split(beego.AppConfig.String("inetIp"), ","))
- // 该接口要指定的ip列表访问
- if inAllowedList, _ := tool.Contain(ip, strings.Split(beego.AppConfig.String("inetIp"), ",")); inAllowedList {
- //beego.BeeLogger.Error("inAllowedList: %v", inAllowedList)
- if name == "orderCompleteDispatchTime" {
- isUpdateTime, _ := self.GetBool("is_update_time", false)
- OrderCompleteDispatchTime(isUpdateTime)
- } else {
- exec(name)
- }
- beego.BeeLogger.Info("Request ip[%s] in AllowedList ip, task execute", ip)
- } else {
- beego.BeeLogger.Warn("Request ip[%s] is not intranet ip, check current user", ip)
- currentUser := self.GetCurrentUser(false)
- beego.BeeLogger.Warn("currentUser=%v", currentUser)
- // 白名单36005:Lane, 28286: 宇斯
- var whiteList = []int64{36005, 28286}
- if currentUser != nil {
- for _, id := range whiteList {
- beego.BeeLogger.Warn("id=%d,currentUserId=%d", id, currentUser.Id)
- if currentUser.Id == id {
- beego.BeeLogger.Info("current user id=[%d], exec task", id)
- exec(name)
- break
- }
- }
- }
- }
- self.ServeJSON()
- }
- func exec(name string) {
- switch name {
- case "take_cash": //提现
- //takeCash()
- //autoTakeCash() //redis队列处理
- case "orderReceiveAutomatically": //已发货订单7天自动收货
- OrderReceiveAutomatically()
- case "updateUserNicknameAndHead": //修复数据-只执行一次
- updateUserNicknameAndHead()
- case "udpate_sold_count": //更新已售数量
- updateSoldCount()
- case "comb_three_user": //更新内部关系
- threebUserRelation()
- case "register_wxuser": //修复数据--注册会员
- registerWxUser()
- case "cancel_order": //下单24h未支付改为已取消
- OrderCancelAutomatically()
- case "send_cent": //补发积分执行一次
- patchCent()
- default:
- beego.BeeLogger.Error("Didn't get task wity name:[%s]", name)
- }
- }
|