- remove useless legacy codes.
- refactor models
This commit is contained in:
@@ -5,8 +5,8 @@ import (
|
||||
"fmt"
|
||||
|
||||
"git.rosy.net.cn/jx-callback/business/jxcallback/auth"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||
"git.rosy.net.cn/jx-callback/business/model/legacymodel"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -21,7 +21,7 @@ func init() {
|
||||
}
|
||||
|
||||
func (a *Auther) Login(uname, password string) (err error) {
|
||||
user := &model.JxBackendUser{
|
||||
user := &legacymodel.JxBackendUser{
|
||||
UName: uname,
|
||||
}
|
||||
if err = dao.GetEntity(nil, user, "UName"); err == nil {
|
||||
|
||||
@@ -9,8 +9,8 @@ import (
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxcallback/auth"
|
||||
"git.rosy.net.cn/jx-callback/business/jxcallback/auth/mobile"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||
"git.rosy.net.cn/jx-callback/business/model/legacymodel"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"git.rosy.net.cn/jx-callback/globals/api"
|
||||
"github.com/astaxie/beego/orm"
|
||||
@@ -67,7 +67,7 @@ func GetUserInfo(code string, state string) (token *UserInfoExt, err error) {
|
||||
func (a *Auther) Login(openid, password string) (err error) {
|
||||
if value := globals.Cacher.Get(openid); value != nil {
|
||||
if password == value.(string) {
|
||||
// wxUser := &model.WeiXins{
|
||||
// wxUser := &legacymodel.WeiXins{
|
||||
// OpenID: openid,
|
||||
// }
|
||||
// if err = dao.GetEntity(nil, wxUser, "OpenID"); err == nil {
|
||||
@@ -89,7 +89,7 @@ func BindMobile(token, mobileNum, code, nickname string) (err error) {
|
||||
loginInfo := new(auth.LoginInfo)
|
||||
if err = globals.Cacher.GetAs(token, loginInfo); err == nil {
|
||||
if mobile.VerifyCode(mobileNum, code) {
|
||||
user := &model.WeiXins{
|
||||
user := &legacymodel.WeiXins{
|
||||
OpenID: loginInfo.ID,
|
||||
Tel: mobileNum,
|
||||
NickName: nickname,
|
||||
|
||||
@@ -110,9 +110,6 @@ func (c *OrderManager) OnOrderStatusChanged(orderStatus *model.OrderStatus) (err
|
||||
isDuplicated, err := c.addOrderStatus(orderStatus, nil)
|
||||
if err == nil && !isDuplicated {
|
||||
err = scheduler.CurrentScheduler.OnOrderStatusChanged(orderStatus, false)
|
||||
if globals.GenerateLegacyJxOrder {
|
||||
c.legacyJxOrderStatusChanged(orderStatus, nil)
|
||||
}
|
||||
}
|
||||
return err
|
||||
}
|
||||
@@ -159,9 +156,6 @@ func (c *OrderManager) saveOrder(order *model.GoodsOrder, isAdjust bool, db orm.
|
||||
baseapi.SugarLogger.Infof("saveOrder insert order:%v, order_sku error:%v", order, err)
|
||||
} else {
|
||||
db.Commit()
|
||||
if globals.GenerateLegacyJxOrder {
|
||||
c.legacyWriteJxOrder(order, db, isAdjust)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
isDuplicated = true
|
||||
|
||||
@@ -1,315 +0,0 @@
|
||||
package orderman
|
||||
|
||||
import (
|
||||
"strings"
|
||||
|
||||
"git.rosy.net.cn/baseapi"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||
"git.rosy.net.cn/jx-callback/business/legacymodel"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"github.com/astaxie/beego/orm"
|
||||
)
|
||||
|
||||
// legacy
|
||||
const (
|
||||
JX_ORDER_STATUS_WAIT_TO_ACCEPT = -1 //未接单(41000)
|
||||
JX_ORDER_STATUS_PICKING = 0 //拣货(32000->或定时召唤达达)
|
||||
JX_ORDER_STATUS_WAIT_FOR_DELIVERY = 1 //待配送(2->或转商家自送)
|
||||
JX_ORDER_STATUS_DELIVERING = 2 //配送中(33040)
|
||||
JX_ORDER_STATUS_DELIVERY_DONE = 3 //已完成(33060->90000)
|
||||
JX_ORDER_STATUS_EXCEPTION_APPLY = 4 //异常申请
|
||||
JX_ORDER_STATUS_NOT_DELIVER = 5 //不配送
|
||||
JX_ORDER_STATUS_AFTER_SALE = 6 //售后单
|
||||
JX_ORDER_STATUS_CANCEL = 7 //已取消
|
||||
JX_ORDER_STATUS_ADJUST = 8 //调整单
|
||||
|
||||
JX_DELIVERY_STATUS_NOT_DELIVERY = -1 //尚未申请配送
|
||||
JX_DELIVERY_STATUS_WAIT_TO_GRAB = 0 //等待抢单
|
||||
JX_DELIVERY_STATUS_GRAB_DONE = 1 //已抢单
|
||||
JX_DELIVERY_STATUS_FAIL_TO_GET_GOODS = 2 //取货失败
|
||||
JX_DELIVERY_STATUS_FAIL_TO_GET_GOODS_WAIT_TO_CONFIRM = 3 //取货失败待审核
|
||||
JX_DELIVERY_STATUS_GET_GOODS_DONE = 4 //取货完成
|
||||
JX_DELIVERY_STATUS_DELIVERY_FAIL = 5 //投递失败
|
||||
JX_DELIVERY_STATUS_DELIVERY_DONE = 6 //已完成
|
||||
JX_DELIVERY_STATUS_DELIVERY_CANCEL = 7 //已取消
|
||||
|
||||
JX_STATUS_UNKNOWN = -100
|
||||
)
|
||||
|
||||
const (
|
||||
DD_CARRIER_NO = "9966"
|
||||
SELLER_CARRIER_NO = "2938"
|
||||
MTPS_CARRIER_NO = "1123"
|
||||
DDDELIVERY_CARRIER_NO = "3465"
|
||||
EME_SELF_CARRIER_NO = "9999"
|
||||
)
|
||||
|
||||
var (
|
||||
VENDOR_ID2CARRIER_NO = map[int]string{
|
||||
model.VendorIDJD: DD_CARRIER_NO,
|
||||
model.VendorIDELM: EME_SELF_CARRIER_NO,
|
||||
model.VendorIDDada: DDDELIVERY_CARRIER_NO,
|
||||
model.VendorIDMTPS: MTPS_CARRIER_NO,
|
||||
}
|
||||
|
||||
CARRIERS_NAMES = map[string]string{
|
||||
DD_CARRIER_NO: "达达专送",
|
||||
SELLER_CARRIER_NO: "门店自送",
|
||||
MTPS_CARRIER_NO: "美团配送",
|
||||
DDDELIVERY_CARRIER_NO: "达达众包",
|
||||
EME_SELF_CARRIER_NO: "饿了么蜂鸟",
|
||||
}
|
||||
|
||||
BUSINESS_TAGS_MAP = map[string]string{
|
||||
"one_dingshida": "0",
|
||||
"dj_aging_nextday": "1",
|
||||
"dj_aging_immediately": "2",
|
||||
"lengcang": "3",
|
||||
"lengdong": "3",
|
||||
}
|
||||
)
|
||||
|
||||
func legacyMapCoordinateType(coordType int) (jxorderCoordType int) {
|
||||
if coordType == model.CoordinateTypeMars {
|
||||
return 2
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func legacyMapOrderStatus(orderStatus int) (retVal int8) {
|
||||
switch orderStatus {
|
||||
case model.OrderStatusNew:
|
||||
retVal = JX_ORDER_STATUS_WAIT_TO_ACCEPT
|
||||
case model.OrderStatusAccepted:
|
||||
retVal = JX_ORDER_STATUS_PICKING
|
||||
case model.OrderStatusDelivering:
|
||||
retVal = JX_ORDER_STATUS_DELIVERING
|
||||
case model.OrderStatusDelivered, model.OrderStatusFinished:
|
||||
retVal = JX_ORDER_STATUS_DELIVERY_DONE
|
||||
case model.OrderStatusAdjust:
|
||||
retVal = JX_ORDER_STATUS_ADJUST
|
||||
case model.OrderStatusApplyCancel:
|
||||
retVal = JX_ORDER_STATUS_EXCEPTION_APPLY
|
||||
case model.OrderStatusCanceled:
|
||||
retVal = JX_ORDER_STATUS_CANCEL
|
||||
case model.OrderStatusFinishedPickup:
|
||||
retVal = JX_ORDER_STATUS_WAIT_FOR_DELIVERY
|
||||
default:
|
||||
retVal = JX_STATUS_UNKNOWN
|
||||
}
|
||||
return retVal
|
||||
}
|
||||
|
||||
func legacyMapWaybillStatus(status int) (retVal int8) {
|
||||
switch status {
|
||||
case model.WaybillStatusNew:
|
||||
retVal = JX_DELIVERY_STATUS_WAIT_TO_GRAB
|
||||
case model.WaybillStatusAccepted:
|
||||
retVal = JX_DELIVERY_STATUS_GRAB_DONE
|
||||
case model.WaybillStatusCourierArrived:
|
||||
retVal = JX_DELIVERY_STATUS_GET_GOODS_DONE
|
||||
case model.WaybillStatusDelivering:
|
||||
retVal = JX_DELIVERY_STATUS_GET_GOODS_DONE
|
||||
case model.WaybillStatusDelivered:
|
||||
retVal = JX_DELIVERY_STATUS_DELIVERY_DONE
|
||||
case model.WaybillStatusCanceled:
|
||||
retVal = JX_DELIVERY_STATUS_DELIVERY_CANCEL
|
||||
case model.WaybillStatusFailed:
|
||||
retVal = JX_DELIVERY_STATUS_DELIVERY_FAIL
|
||||
default:
|
||||
retVal = JX_STATUS_UNKNOWN
|
||||
}
|
||||
return retVal
|
||||
}
|
||||
|
||||
func (c *OrderManager) legacyWriteJxOrder(order *model.GoodsOrder, db orm.Ormer, isDelFirst bool) (err error) {
|
||||
var result map[string]interface{}
|
||||
businessTags := ""
|
||||
if order.VendorID == model.VendorIDJD && utils.UnmarshalUseNumber([]byte(order.OriginalData), &result) == nil {
|
||||
tagList := strings.Split(result["businessTag"].(string), ";")
|
||||
list := []string{}
|
||||
for _, v := range tagList {
|
||||
if tag, ok := BUSINESS_TAGS_MAP[v]; ok {
|
||||
list = append(list, tag)
|
||||
}
|
||||
}
|
||||
businessTags = strings.Join(list, "|") + "|"
|
||||
}
|
||||
|
||||
db.Begin()
|
||||
if isDelFirst {
|
||||
db.Raw("DELETE FROM "+globals.JxorderTableName+" WHERE order_id = ?", utils.Str2Int64(order.VendorOrderID)).Exec()
|
||||
db.Raw("DELETE FROM "+globals.JxorderskuTableName+" WHERE order_id = ?", utils.Str2Int64(order.VendorOrderID)).Exec()
|
||||
}
|
||||
orderStatus := legacyMapOrderStatus(order.Status)
|
||||
if orderStatus < JX_ORDER_STATUS_PICKING {
|
||||
orderStatus = JX_ORDER_STATUS_PICKING
|
||||
}
|
||||
jxorder := &legacymodel.Jxorder2{
|
||||
VenderId: int8(order.VendorID),
|
||||
OrderId: utils.Str2Int64(order.VendorOrderID),
|
||||
JxStoreId: utils.Int2Str(jxutils.GetJxStoreIDFromOrder(order)),
|
||||
JxStoreName: order.StoreName,
|
||||
OrderNum: order.OrderSeq,
|
||||
OrderStatus: orderStatus,
|
||||
OrderStatusTime: utils.Time2Str(order.StatusTime),
|
||||
BusinessTag: businessTags,
|
||||
SkuCount: order.SkuCount,
|
||||
OrderBuyerRemark: order.BuyerComment,
|
||||
BuyerFullName: order.ConsigneeName,
|
||||
BuyerFullAddress: order.ConsigneeAddress,
|
||||
BuyerMobile: order.ConsigneeMobile,
|
||||
BuyerCoordType: legacyMapCoordinateType(order.CoordinateType),
|
||||
BuyerLng: jxutils.IntCoordinate2Standard(order.ConsigneeLng),
|
||||
BuyerLat: jxutils.IntCoordinate2Standard(order.ConsigneeLat),
|
||||
CityName: "all",
|
||||
OrderStartTime: utils.Time2Str(order.StatusTime),
|
||||
JdStoreId: order.VendorStoreID,
|
||||
OrderTotalMoney: int(order.SalePrice),
|
||||
OrderDiscountMoney: int(order.SalePrice - order.ActualPayPrice),
|
||||
OrderBuyerPayableMoney: int(order.ActualPayPrice),
|
||||
// DeliveryPackageWeight: float64(jxutils.IntWeight2Float(order.Weight)),
|
||||
}
|
||||
if order.VendorID == model.VendorIDELM {
|
||||
jxorder.OrderStatus = JX_ORDER_STATUS_WAIT_FOR_DELIVERY
|
||||
}
|
||||
if order.ExpectedDeliveredTime.Sub(utils.DefaultTimeValue) > 0 {
|
||||
jxorder.OrderPreEndDelivTime = utils.Time2Str(order.ExpectedDeliveredTime)
|
||||
}
|
||||
|
||||
_, err = db.Insert(jxorder)
|
||||
if err != nil {
|
||||
db.Rollback()
|
||||
globals.SugarLogger.Infof("insert jxorder:%v error:%v", jxorder, err)
|
||||
return err
|
||||
}
|
||||
sql := "INSERT INTO " + globals.JxorderskuTableName + "(vender_id, order_id, jx_sku_id, sku_name, jx_store_id, sku_price, sku_count, is_gift, promotion_type, sku_plat_discount, sku_vender_discount, sku_img) VALUES"
|
||||
params := []interface{}{}
|
||||
for _, sku := range order.Skus {
|
||||
sql += "(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?),"
|
||||
params = append(params, sku.VendorID, sku.VendorOrderID, sku.JxSkuID, sku.SkuName, jxutils.GetJxStoreIDFromOrder(order), sku.SalePrice, sku.Count, sku.SkuType, sku.PromotionType, 0, 0, "")
|
||||
}
|
||||
sql = sql[:len(sql)-1] + ";"
|
||||
if _, err = db.Raw(sql, params...).Exec(); err != nil {
|
||||
db.Rollback()
|
||||
baseapi.SugarLogger.Infof("insert jxordersku jxorder:%v error:%v", jxorder, err)
|
||||
} else {
|
||||
db.Commit()
|
||||
vendorOrderID := utils.Str2Int64(order.VendorOrderID)
|
||||
utils.CallFuncLogError(func() error {
|
||||
_, err = db.Raw(`
|
||||
UPDATE `+globals.JxorderTableName+` t1
|
||||
JOIN jxstore t2 ON t2.storeid = t1.jx_store_id
|
||||
SET t1.store_lng = t2.lng,
|
||||
t1.store_lat = t2.lat
|
||||
WHERE t1.order_id = ?;
|
||||
`, vendorOrderID /*, vendorOrderID*/).Exec()
|
||||
return err
|
||||
}, "update jxorder")
|
||||
|
||||
utils.CallFuncLogError(func() error {
|
||||
_, err = db.Raw(`
|
||||
UPDATE `+globals.JxorderskuTableName+` t1
|
||||
JOIN jx_sku t2 ON t2.id = t1.jx_sku_id
|
||||
JOIN jx_sku_name t3 ON t3.id = t2.nameid
|
||||
SET t1.sku_img = t3.img
|
||||
WHERE t1.order_id = ?;
|
||||
`, vendorOrderID /*, vendorOrderID*/).Exec()
|
||||
return err
|
||||
}, "update jxordersku")
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func (c *OrderManager) legacyJxOrderStatusChanged(status *model.OrderStatus, db orm.Ormer) (err error) {
|
||||
orderStatus := legacyMapOrderStatus(status.Status)
|
||||
if orderStatus != JX_STATUS_UNKNOWN {
|
||||
if status.VendorID == model.VendorIDELM {
|
||||
if orderStatus < JX_ORDER_STATUS_WAIT_FOR_DELIVERY {
|
||||
orderStatus = JX_ORDER_STATUS_WAIT_FOR_DELIVERY
|
||||
}
|
||||
}
|
||||
if db == nil {
|
||||
db = orm.NewOrm()
|
||||
}
|
||||
jxorder := &legacymodel.Jxorder2{
|
||||
OrderId: utils.Str2Int64(status.VendorOrderID),
|
||||
}
|
||||
if err = db.Read(jxorder, "OrderId"); err == nil {
|
||||
utils.CallFuncLogError(func() error {
|
||||
jxorder.OrderStatus = orderStatus
|
||||
jxorder.OrderStatusTime = utils.Time2Str(status.StatusTime)
|
||||
updateFields := []string{
|
||||
"OrderStatus",
|
||||
"OrderStatusTime",
|
||||
}
|
||||
if status.Status >= model.OrderStatusEndBegin {
|
||||
jxorder.DeliveryFinishTime = utils.Time2Str(status.StatusTime)
|
||||
updateFields = append(updateFields, "DeliveryFinishTime")
|
||||
}
|
||||
_, err = db.Update(jxorder, updateFields...)
|
||||
if orderStatus == JX_ORDER_STATUS_DELIVERY_DONE || orderStatus == JX_ORDER_STATUS_DELIVERING {
|
||||
db.Raw(`
|
||||
UPDATE `+globals.JxorderTableName+` t1
|
||||
JOIN waybill t2 ON t2.vendor_order_id = t1.order_id AND t2.status = 105
|
||||
SET t1.delivery_price = IF(t2.waybill_vendor_id = 102, t2.desired_fee/100, t1.delivery_price),
|
||||
t1.delivery_price1 = IF(t2.waybill_vendor_id = 101, t2.desired_fee/100, t1.delivery_price1)
|
||||
WHERE t1.order_id = ?
|
||||
`, jxorder.OrderId).Exec()
|
||||
}
|
||||
return err
|
||||
}, "legacyJxOrderStatusChanged")
|
||||
} else {
|
||||
globals.SugarLogger.Infof("read legacyJxOrder orderID:%d error:%v, ", jxorder.OrderId, err)
|
||||
}
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func (c *OrderManager) legacyWaybillStatusChanged(bill *model.Waybill, db orm.Ormer) (err error) {
|
||||
deliveryStatus := legacyMapWaybillStatus(bill.Status)
|
||||
if deliveryStatus != JX_STATUS_UNKNOWN {
|
||||
if db == nil {
|
||||
db = orm.NewOrm()
|
||||
}
|
||||
jxorder := &legacymodel.Jxorder2{
|
||||
OrderId: utils.Str2Int64(bill.VendorOrderID),
|
||||
}
|
||||
if err = db.Read(jxorder, "OrderId"); err == nil {
|
||||
utils.CallFuncLogError(func() error {
|
||||
updateFields := []string{
|
||||
"DeliveryCarrierNo",
|
||||
"DeliveryCarrierName",
|
||||
"DeliveryManNo",
|
||||
"DeliveryManName",
|
||||
"DeliveryManPhone",
|
||||
"DeliveryBillNo",
|
||||
"DeliveryStatus",
|
||||
}
|
||||
// jxorder.DeliveryPackageWeight
|
||||
jxorder.DeliveryCarrierNo = VENDOR_ID2CARRIER_NO[bill.WaybillVendorID]
|
||||
jxorder.DeliveryCarrierName = CARRIERS_NAMES[jxorder.DeliveryCarrierNo]
|
||||
jxorder.DeliveryManNo = bill.CourierMobile
|
||||
jxorder.DeliveryManName = bill.CourierName
|
||||
jxorder.DeliveryManPhone = bill.CourierMobile
|
||||
jxorder.DeliveryBillNo = bill.VendorWaybillID
|
||||
jxorder.DeliveryStatus = deliveryStatus
|
||||
// jxorder.DeliveryConfirmTime
|
||||
if bill.Status == model.WaybillStatusNew {
|
||||
updateFields = append(updateFields, "DeliveryStartTime")
|
||||
jxorder.DeliveryStartTime = utils.Time2Str(bill.StatusTime)
|
||||
} else if bill.Status >= model.WaybillStatusEndBegin {
|
||||
jxorder.DeliveryFinishTime = utils.Time2Str(bill.StatusTime)
|
||||
updateFields = append(updateFields, "DeliveryFinishTime")
|
||||
}
|
||||
_, err = db.Update(jxorder, updateFields...)
|
||||
return err
|
||||
}, "legacyJxOrderStatusChanged")
|
||||
} else {
|
||||
globals.SugarLogger.Infof("read legacyJxOrder, orderID:%d error:%v", jxorder.OrderId, err)
|
||||
}
|
||||
}
|
||||
return err
|
||||
}
|
||||
@@ -83,9 +83,6 @@ func (w *OrderManager) OnWaybillStatusChanged(bill *model.Waybill) (err error) {
|
||||
}
|
||||
if err == nil && !isDuplicated {
|
||||
scheduler.CurrentScheduler.OnWaybillStatusChanged(bill, false)
|
||||
if globals.GenerateLegacyJxOrder {
|
||||
w.legacyWaybillStatusChanged(bill, db)
|
||||
}
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -3,8 +3,8 @@ package basesch
|
||||
import (
|
||||
"git.rosy.net.cn/jx-callback/business/jxcallback/scheduler"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||
"git.rosy.net.cn/jx-callback/business/legacymodel"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/business/model/legacymodel"
|
||||
"git.rosy.net.cn/jx-callback/business/partner"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"github.com/astaxie/beego/orm"
|
||||
|
||||
@@ -11,8 +11,8 @@ import (
|
||||
"git.rosy.net.cn/jx-callback/business/jxcallback/scheduler/basesch"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/weixinmsg"
|
||||
"git.rosy.net.cn/jx-callback/business/legacymodel"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/business/model/legacymodel"
|
||||
"git.rosy.net.cn/jx-callback/business/partner"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"github.com/astaxie/beego/orm"
|
||||
|
||||
@@ -9,6 +9,7 @@ import (
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||
"git.rosy.net.cn/jx-callback/business/model/legacymodel"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
)
|
||||
|
||||
@@ -349,7 +350,7 @@ func TmpGetJxBadCommentsByStoreId(storeID, page, size, commentType int) (retVal
|
||||
sql += " AND status = 0"
|
||||
}
|
||||
sql += " ORDER BY createtime DESC LIMIT ? OFFSET ?"
|
||||
var commentList []*model.JxBadComments
|
||||
var commentList []*legacymodel.JxBadComments
|
||||
dao.Begin(db)
|
||||
defer func() {
|
||||
dao.Rollback(db)
|
||||
|
||||
@@ -4,17 +4,17 @@ import (
|
||||
"fmt"
|
||||
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||
"git.rosy.net.cn/jx-callback/business/model/legacymodel"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"github.com/astaxie/beego/orm"
|
||||
)
|
||||
|
||||
type StoreUserInfo struct {
|
||||
model.WeiXins
|
||||
ParentMobile string `json:"parentMobile"`
|
||||
Members []*model.WeiXins `orm:"-" json:"members"`
|
||||
MembersStr string `json:"-"`
|
||||
legacymodel.WeiXins
|
||||
ParentMobile string `json:"parentMobile"`
|
||||
Members []*legacymodel.WeiXins `orm:"-" json:"members"`
|
||||
MembersStr string `json:"-"`
|
||||
}
|
||||
|
||||
func GetStoreUsers(storeID int) (storeUserInfos []*StoreUserInfo, err error) {
|
||||
@@ -77,7 +77,7 @@ func GetSelfInfo(openID string) (storeUserInfo *StoreUserInfo, err error) {
|
||||
}
|
||||
|
||||
func UnbindMobile(mobile string) (num int64, err error) {
|
||||
return dao.UpdateEntityByKV(nil, &model.WeiXins{}, map[string]interface{}{
|
||||
return dao.UpdateEntityByKV(nil, &legacymodel.WeiXins{}, map[string]interface{}{
|
||||
"JxStoreID": nil,
|
||||
"ParentID": -1,
|
||||
}, map[string]interface{}{
|
||||
@@ -104,7 +104,7 @@ func BindMobile2Store(mobile string, storeID int) (num int64, err error) {
|
||||
|
||||
func AddMobile2Mobile(parentMobile, mobile string) (num int64, err error) {
|
||||
db := dao.GetDB()
|
||||
parentUser := &model.WeiXins{}
|
||||
parentUser := &legacymodel.WeiXins{}
|
||||
parentUser.Tel = parentMobile
|
||||
if err = dao.GetEntity(db, parentUser, "Tel"); err == nil {
|
||||
if parentUser.ParentID == -1 {
|
||||
@@ -130,15 +130,15 @@ func AddMobile2Mobile(parentMobile, mobile string) (num int64, err error) {
|
||||
}
|
||||
|
||||
func ChangeMobile(curMobile, expectedMobile string) (num int64, err error) {
|
||||
return dao.UpdateEntityByKV(nil, &model.WeiXins{}, map[string]interface{}{
|
||||
return dao.UpdateEntityByKV(nil, &legacymodel.WeiXins{}, map[string]interface{}{
|
||||
"Tel": expectedMobile,
|
||||
}, map[string]interface{}{
|
||||
"Tel": curMobile,
|
||||
})
|
||||
}
|
||||
|
||||
func verifyMobileIsBlank(db *dao.DaoDB, mobile string) (user *model.WeiXins, err error) {
|
||||
user = &model.WeiXins{
|
||||
func verifyMobileIsBlank(db *dao.DaoDB, mobile string) (user *legacymodel.WeiXins, err error) {
|
||||
user = &legacymodel.WeiXins{
|
||||
Tel: mobile,
|
||||
}
|
||||
if err = dao.GetEntity(db, user, "Tel"); err == nil {
|
||||
@@ -165,7 +165,7 @@ func verifyMobileHasNoMembers(db *dao.DaoDB, mobile string) (err error) {
|
||||
return err
|
||||
}
|
||||
|
||||
func createUserAndSetOpenIDNull(db *dao.DaoDB, user *model.WeiXins) (err error) {
|
||||
func createUserAndSetOpenIDNull(db *dao.DaoDB, user *legacymodel.WeiXins) (err error) {
|
||||
dao.Begin(db)
|
||||
if err = dao.CreateEntity(db, user); err != nil {
|
||||
dao.Rollback(db)
|
||||
|
||||
@@ -13,8 +13,8 @@ import (
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/tasksch"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/weixinmsg"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||
"git.rosy.net.cn/jx-callback/business/model/legacymodel"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"git.rosy.net.cn/jx-callback/globals/api"
|
||||
"github.com/qiniu/api.v7/storage"
|
||||
@@ -66,7 +66,7 @@ func SendFilesToStores(files []*multipart.FileHeader, isAsync bool, userName str
|
||||
globals.SugarLogger.Debugf("SendFilesToStores upload file:%s error:%v", fileHeader.Filename, err)
|
||||
if err == nil {
|
||||
db := dao.GetDB()
|
||||
billRec := &model.StoreBill{
|
||||
billRec := &legacymodel.StoreBill{
|
||||
Date: time.Now(),
|
||||
Url: jxutils.ComposeQiniuResURL(ret.Key),
|
||||
StoreId: storeID,
|
||||
|
||||
@@ -8,6 +8,7 @@ import (
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/business/model/legacymodel"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"git.rosy.net.cn/jx-callback/globals/api"
|
||||
"github.com/astaxie/beego/orm"
|
||||
@@ -211,7 +212,7 @@ func NotifyWaybillStatus(bill *model.Waybill, order *model.GoodsOrder) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func PushJDBadCommentToWeiXin(comment *model.JxBadComments) (err error) {
|
||||
func PushJDBadCommentToWeiXin(comment *legacymodel.JxBadComments) (err error) {
|
||||
globals.SugarLogger.Debugf("PushJDBadCommentToWeiXin orderID:%s", comment.OrderId)
|
||||
|
||||
sb := new(strings.Builder)
|
||||
@@ -283,7 +284,7 @@ func FormatDeliveryTime(order *model.GoodsOrder) string {
|
||||
return fmt.Sprintf("请于%s前送达(剩余时间%d小时%d分钟)", utils.Time2Str(tmpTime), leftHours, leftMinutes)
|
||||
}
|
||||
|
||||
func genJdCommentRemark(comment *model.JxBadComments) string {
|
||||
func genJdCommentRemark(comment *legacymodel.JxBadComments) string {
|
||||
sb := new(strings.Builder)
|
||||
sb.WriteString("差评标签:")
|
||||
sb.WriteString(comment.Vendertags)
|
||||
|
||||
20
business/model/legacymodel/jxbackenduser.go
Normal file
20
business/model/legacymodel/jxbackenduser.go
Normal file
@@ -0,0 +1,20 @@
|
||||
package legacymodel
|
||||
|
||||
type JxBackendUser struct {
|
||||
UID int `orm:"pk;column(uid)"`
|
||||
UName string `orm:"column(uname);size(64);index"`
|
||||
UPass string `orm:"column(upass);size(64)"`
|
||||
Tel string `orm:"size(32);index"`
|
||||
Position string `orm:"size(255)"`
|
||||
Enabled int8 `orm:"default(1)"`
|
||||
SkuWidget int `orm:"default(0)"`
|
||||
StoreWidget int `orm:"default(0)"`
|
||||
UserWidget int `orm:"default(0)"`
|
||||
BillinfoWidget int `orm:"default(0)"`
|
||||
GroupWidget int `orm:"default(0)"`
|
||||
CategoryWidget int `orm:"default(0)"`
|
||||
}
|
||||
|
||||
func (*JxBackendUser) TableName() string {
|
||||
return "jxbackenduser"
|
||||
}
|
||||
@@ -1,38 +1,4 @@
|
||||
package model
|
||||
|
||||
import "time"
|
||||
|
||||
type WeiXins struct {
|
||||
ID int `orm:"column(id)" json:"id"`
|
||||
JxStoreID int `orm:"column(jxstoreid)" json:"storeID"`
|
||||
OpenID string `orm:"column(openid);size(70);unique;null" json:"openID"`
|
||||
Tel string `orm:"size(15);unique" json:"tel"`
|
||||
ParentID int `orm:"column(parentid);default(-1)" json:"parentID"`
|
||||
NickName string `orm:"column(nickname);size(30)" json:"nickname"`
|
||||
}
|
||||
|
||||
func (*WeiXins) TableName() string {
|
||||
return "weixins"
|
||||
}
|
||||
|
||||
type JxBackendUser struct {
|
||||
UID int `orm:"pk;column(uid)"`
|
||||
UName string `orm:"column(uname);size(64);index"`
|
||||
UPass string `orm:"column(upass);size(64)"`
|
||||
Tel string `orm:"size(32);index"`
|
||||
Position string `orm:"size(255)"`
|
||||
Enabled int8 `orm:"default(1)"`
|
||||
SkuWidget int `orm:"default(0)"`
|
||||
StoreWidget int `orm:"default(0)"`
|
||||
UserWidget int `orm:"default(0)"`
|
||||
BillinfoWidget int `orm:"default(0)"`
|
||||
GroupWidget int `orm:"default(0)"`
|
||||
CategoryWidget int `orm:"default(0)"`
|
||||
}
|
||||
|
||||
func (*JxBackendUser) TableName() string {
|
||||
return "jxbackenduser"
|
||||
}
|
||||
package legacymodel
|
||||
|
||||
type JxBadComments struct {
|
||||
Id int `json:"id" orm:"column(id)"`
|
||||
@@ -58,21 +24,3 @@ type JxBadComments struct {
|
||||
func (*JxBadComments) TableName() string {
|
||||
return "jx_bad_comments"
|
||||
}
|
||||
|
||||
type StoreBill struct {
|
||||
Id int `orm:"column(id);auto"`
|
||||
Date time.Time `orm:"column(date);type(datetime)"`
|
||||
Url string `orm:"column(url);size(255)"`
|
||||
StoreId int `orm:"column(store_id)"`
|
||||
BillName string `orm:"column(bill_name);size(30)"`
|
||||
}
|
||||
|
||||
func (t *StoreBill) TableName() string {
|
||||
return "store_bill"
|
||||
}
|
||||
|
||||
func (*StoreBill) TableIndex() [][]string {
|
||||
return [][]string{
|
||||
[]string{"StoreId", "Date"},
|
||||
}
|
||||
}
|
||||
21
business/model/legacymodel/storebill.go
Normal file
21
business/model/legacymodel/storebill.go
Normal file
@@ -0,0 +1,21 @@
|
||||
package legacymodel
|
||||
|
||||
import "time"
|
||||
|
||||
type StoreBill struct {
|
||||
Id int `orm:"column(id);auto"`
|
||||
Date time.Time `orm:"column(date);type(datetime)"`
|
||||
Url string `orm:"column(url);size(255)"`
|
||||
StoreId int `orm:"column(store_id)"`
|
||||
BillName string `orm:"column(bill_name);size(30)"`
|
||||
}
|
||||
|
||||
func (t *StoreBill) TableName() string {
|
||||
return "store_bill"
|
||||
}
|
||||
|
||||
func (*StoreBill) TableIndex() [][]string {
|
||||
return [][]string{
|
||||
[]string{"StoreId", "Date"},
|
||||
}
|
||||
}
|
||||
14
business/model/legacymodel/weixins.go
Normal file
14
business/model/legacymodel/weixins.go
Normal file
@@ -0,0 +1,14 @@
|
||||
package legacymodel
|
||||
|
||||
type WeiXins struct {
|
||||
ID int `orm:"column(id)" json:"id"`
|
||||
JxStoreID int `orm:"column(jxstoreid)" json:"storeID"`
|
||||
OpenID string `orm:"column(openid);size(70);unique;null" json:"openID"`
|
||||
Tel string `orm:"size(15);unique" json:"tel"`
|
||||
ParentID int `orm:"column(parentid);default(-1)" json:"parentID"`
|
||||
NickName string `orm:"column(nickname);size(30)" json:"nickname"`
|
||||
}
|
||||
|
||||
func (*WeiXins) TableName() string {
|
||||
return "weixins"
|
||||
}
|
||||
@@ -10,8 +10,8 @@ import (
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxcallback/scheduler"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||
"git.rosy.net.cn/jx-callback/business/legacymodel"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/business/model/legacymodel"
|
||||
"git.rosy.net.cn/jx-callback/business/partner"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"git.rosy.net.cn/jx-callback/globals/api"
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
package elm
|
||||
|
||||
import (
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/legacymodel"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"github.com/astaxie/beego/orm"
|
||||
)
|
||||
|
||||
// 为了兼容之前的表,造出原来需要的数据
|
||||
func (c *PurchaseHandler) legacyWriteElmOrder(order *model.GoodsOrder) (err error) {
|
||||
db := orm.NewOrm()
|
||||
_, msgType := c.spliltCompositeState(order.VendorStatus)
|
||||
legacyOrder := &legacymodel.Elemeorder2{
|
||||
Orderid: order.VendorOrderID,
|
||||
Type: msgType,
|
||||
Consignee: order.ConsigneeName,
|
||||
Mobile: order.ConsigneeMobile,
|
||||
OrderCreatedAt: utils.Time2Str(order.StatusTime),
|
||||
}
|
||||
_, err = db.Insert(legacyOrder)
|
||||
if err != nil {
|
||||
globals.SugarLogger.Infof("legacyWriteElmOrder orderID:%s insert error:%v", order.VendorOrderID, err)
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func (c *PurchaseHandler) legacyElmOrderStatusChanged(status *model.OrderStatus) (err error) {
|
||||
db := orm.NewOrm()
|
||||
legacyOrder := &legacymodel.Elemeorder2{
|
||||
Orderid: status.VendorOrderID,
|
||||
}
|
||||
if err = db.Read(legacyOrder, "Orderid"); err == nil {
|
||||
_, legacyOrder.Type = c.spliltCompositeState(status.VendorStatus)
|
||||
utils.CallFuncLogError(func() error {
|
||||
_, err = db.Update(legacyOrder, "Type")
|
||||
return err
|
||||
}, "legacyWriteElmOrder status:%v", status)
|
||||
} else {
|
||||
globals.SugarLogger.Infof("legacyElmOrderStatusChanged db.Read status:%v, error:%v", status, err)
|
||||
}
|
||||
return err
|
||||
}
|
||||
@@ -1,49 +0,0 @@
|
||||
package jd
|
||||
|
||||
import (
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/legacymodel"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"github.com/astaxie/beego/orm"
|
||||
)
|
||||
|
||||
// 为了兼容之前的表,造出原来需要的数据
|
||||
func (c *PurchaseHandler) legacyWriteJdOrder(order *model.GoodsOrder, delOldFirst bool) (err error) {
|
||||
db := orm.NewOrm()
|
||||
if delOldFirst {
|
||||
db.Raw("DELETE FROM jdorder2 WHERE jdorderid = ?", utils.Str2Int64(order.VendorOrderID)).Exec()
|
||||
}
|
||||
legacyOrder := &legacymodel.Jdorder2{
|
||||
Code: "0",
|
||||
Jdorderid: utils.Str2Int64(order.VendorOrderID),
|
||||
Orderstatus: int(utils.Str2Int64(order.VendorStatus)),
|
||||
Orderstatustime: utils.Time2Str(order.StatusTime),
|
||||
Success: 1,
|
||||
Cityname: "all",
|
||||
}
|
||||
_, err = db.Insert(legacyOrder)
|
||||
if err != nil {
|
||||
globals.SugarLogger.Infof("legacyWriteJdOrder orderID:%s insert error:%v", order.VendorOrderID, err)
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func (c *PurchaseHandler) legacyJdOrderStatusChanged(status *model.OrderStatus) (err error) {
|
||||
db := orm.NewOrm()
|
||||
legacyOrder := &legacymodel.Jdorder2{
|
||||
Jdorderid: utils.Str2Int64(status.VendorOrderID),
|
||||
}
|
||||
|
||||
if err = db.Read(legacyOrder, "Jdorderid"); err == nil {
|
||||
utils.CallFuncLogError(func() error {
|
||||
legacyOrder.Orderstatus = int(utils.Str2Int64(status.VendorStatus))
|
||||
legacyOrder.Orderstatustime = utils.Time2Str(status.StatusTime)
|
||||
_, err = db.Update(legacyOrder, "Orderstatus", "Orderstatustime")
|
||||
return err
|
||||
}, "legacyJdOrderStatusChanged, status:%v", status)
|
||||
} else {
|
||||
globals.SugarLogger.Infof("legacyJdOrderStatusChanged db.Read status:%v, error:%v", status, err)
|
||||
}
|
||||
return err
|
||||
}
|
||||
@@ -10,6 +10,7 @@ import (
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/weixinmsg"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||
"git.rosy.net.cn/jx-callback/business/model/legacymodel"
|
||||
"git.rosy.net.cn/jx-callback/business/partner"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"git.rosy.net.cn/jx-callback/globals/api"
|
||||
@@ -75,7 +76,7 @@ func (c *PurchaseHandler) onOrderComment(msg *jdapi.CallbackOrderMsg) (err error
|
||||
result, err := api.JdAPI.GetCommentByOrderId(intOrderID)
|
||||
if err == nil {
|
||||
globals.SugarLogger.Debugf("onOrderComment comment:%s", utils.Format4Output(result, true))
|
||||
comment := &model.JxBadComments{
|
||||
comment := &legacymodel.JxBadComments{
|
||||
OrderId: msg.BillID,
|
||||
}
|
||||
db := dao.GetDB()
|
||||
|
||||
Reference in New Issue
Block a user