72 lines
1.9 KiB
Go
72 lines
1.9 KiB
Go
package controller
|
|
|
|
import (
|
|
"encoding/json"
|
|
"strconv"
|
|
|
|
"git.rosy.net.cn/jx-callback/business/jd/models"
|
|
"git.rosy.net.cn/jx-callback/compat/corm"
|
|
"github.com/astaxie/beego/orm"
|
|
_ "github.com/go-sql-driver/mysql" // import your used driver
|
|
)
|
|
|
|
var errChecker corm.DBErrorChecker
|
|
|
|
func init() {
|
|
errChecker = new(corm.MysqlErrorChecker)
|
|
|
|
// set default database
|
|
orm.RegisterDataBase("default", "mysql", "root:WebServer@1@tcp(127.0.0.1:3306)/jx-callback?charset=utf8&loc=Local", 30)
|
|
|
|
// register model
|
|
orm.RegisterModel(new(models.Jdorder))
|
|
|
|
// create table
|
|
orm.RunSyncdb("default", false, true)
|
|
}
|
|
|
|
type OrderControler struct {
|
|
}
|
|
|
|
func (c *OrderControler) NewOrder(order *models.NewOrderMsg) *models.OrderMsgResponse {
|
|
db := orm.NewOrm()
|
|
jdorderid, _ := strconv.ParseInt(order.BillId, 10, 64)
|
|
status, _ := strconv.Atoi(order.StatusId)
|
|
rec := &models.Jdorder{
|
|
JdOrderId: jdorderid,
|
|
OrderStatus: status,
|
|
}
|
|
|
|
if created, _, err := db.ReadOrCreate(rec, "Jdorderid"); err == nil {
|
|
if created {
|
|
c.AcceptOrder(order)
|
|
result, err := gJdapi.LegacyQuerySingleOrder(order.BillId)
|
|
if err != nil {
|
|
sugarLogger.Warnf("error when query jd order:%s, error:%v", order.BillId, err)
|
|
} else {
|
|
rec.Code = result.Code
|
|
rec.Msg = result.Msg
|
|
rec.Success = 1
|
|
rec.CityName = "all"
|
|
rec.OrderStatus = result.OrderStatus
|
|
rec.OrderStatusTime = result.OrderStatusTime
|
|
result.Msg = "成功"
|
|
resultByteArr, _ := json.Marshal(result)
|
|
rec.Data = string(resultByteArr)
|
|
db.Update(rec, "Data", "Code", "Msg", "Success", "CityName", "OrderStatus", "OrderStatusTime")
|
|
}
|
|
|
|
} else {
|
|
sugarLogger.Warnf("duplicated jd orderid:%s", order.BillId)
|
|
sugarLogger.Debug(rec)
|
|
}
|
|
} else {
|
|
sugarLogger.Errorf("error when calling ReadOrCreate:%v", err)
|
|
}
|
|
|
|
return &models.OrderMsgResponse{"0", "success", ""}
|
|
}
|
|
|
|
func (c *OrderControler) AcceptOrder(order *models.NewOrderMsg) {
|
|
}
|