- don't mark sync status when directly deleted in CopyStoreSkus

This commit is contained in:
gazebo
2018-10-31 19:23:18 +08:00
parent fdd50744f0
commit c0d5fc60b0
4 changed files with 24 additions and 6 deletions

View File

@@ -15,19 +15,24 @@ const (
)
func SendVerifyCode(mobileNumber string) error {
smsClient := aliyunsmsclient.New("http://dysmsapi.aliyuncs.com/")
code := fmt.Sprintf("%06d", rand.Intn(1000000))
globals.SugarLogger.Debugf("SendVerifyCode mobileNumber:%s, code:%s", mobileNumber, code)
smsClient := aliyunsmsclient.New("http://dysmsapi.aliyuncs.com/")
_, err := smsClient.Execute(globals.AliKey, globals.AliSecret, mobileNumber, "京西菜市", "SMS_84655036", string(utils.MustMarshal(map[string]interface{}{
"code": code,
})))
if err == nil {
globals.Cacher.Set(mobileNumber, code, DefVerifyCodeDuration)
} else {
globals.SugarLogger.Infof("SendVerifyCode mobileNumber:%s failed with error:%v", mobileNumber, err)
}
// globals.SugarLogger.Debug(utils.Format4Output(result, false))
return err
}
func VerifyCode(mobileNumber, code string) bool {
globals.SugarLogger.Debugf("VerifyCode mobileNumber:%s, code:%s", mobileNumber, code)
if value := globals.Cacher.Get(mobileNumber); value != nil {
if code == value.(string) {
globals.Cacher.Del(mobileNumber)

View File

@@ -44,6 +44,8 @@ func init() {
}
func GetUserInfo(code string, state string) (token *UserInfoExt, err error) {
globals.SugarLogger.Debugf("GetUserInfo code:%s", code)
if state == "" {
wxapi := weixinsnsapi.New(api.WeixinAPI.GetAppID(), api.WeixinAPI.GetSecret())
token, err2 := wxapi.RefreshToken(code)
@@ -51,6 +53,7 @@ func GetUserInfo(code string, state string) (token *UserInfoExt, err error) {
wxUserinfo, err2 := wxapi.GetUserInfo(token.OpenID)
if err = err2; err == nil {
pwd := utils.GetUUID()
globals.SugarLogger.Debugf("GetUserInfo code:%s, pwd:%s", code, pwd)
globals.Cacher.Set(wxUserinfo.OpenID, pwd, DefTempPasswordDuration)
return &UserInfoExt{
UserInfo: *wxUserinfo,
@@ -65,6 +68,8 @@ func GetUserInfo(code string, state string) (token *UserInfoExt, err error) {
}
func (a *Auther) Login(openid, password string) (err error) {
globals.SugarLogger.Debugf("Login openid:%s, password:%s", openid, password)
if value := globals.Cacher.Get(openid); value != nil {
if password == value.(string) {
// wxUser := &legacymodel.WeiXins{
@@ -86,6 +91,8 @@ func (a *Auther) Logout(openid string) error {
}
func BindMobile(token, mobileNum, code, nickname string) (err error) {
globals.SugarLogger.Debugf("BindMobile mobileNum:%s, code:%s, nickname:%s", mobileNum, code, nickname)
loginInfo := new(auth.LoginInfo)
if err = globals.Cacher.GetAs(token, loginInfo); err == nil {
if mobile.VerifyCode(mobileNum, code) {

View File

@@ -506,11 +506,12 @@ func CopyStoreSkus(ctx *jxcontext.Context, fromStoreID, toStoreID int, copyMode
JOIN sku_name t3 ON t2.name_id = t3.id AND t2.deleted_at = ?
JOIN sku_category t4 ON t3.category_id = t4.id AND t2.deleted_at = ?
SET t1.deleted_at = ?,
t1.updated_at = ?,
t1.last_operator = ?,
t1.status = ?,
t1.jd_sync_status = ?,
t1.elm_sync_status = ?,
t1.ebai_sync_status = ?
t1.jd_sync_status = IF(t1.jd_sync_status = ?, 0, ?),
t1.elm_sync_status = IF(t1.elm_sync_status = ?, 0, ?),
t1.ebai_sync_status = IF(t1.ebai_sync_status = ?, 0, ?)
WHERE t1.store_id = ? AND t1.deleted_at = ?
`
sqlDeleteParams := []interface{}{
@@ -518,10 +519,14 @@ func CopyStoreSkus(ctx *jxcontext.Context, fromStoreID, toStoreID int, copyMode
utils.DefaultTimeValue,
utils.DefaultTimeValue,
time.Now(),
time.Now(),
userName,
model.StoreSkuBindStatusDeleted,
model.SyncFlagNewMask,
model.SyncFlagDeletedMask,
model.SyncFlagNewMask,
model.SyncFlagDeletedMask,
model.SyncFlagNewMask,
model.SyncFlagDeletedMask,
toStoreID,
utils.DefaultTimeValue,
@@ -530,6 +535,7 @@ func CopyStoreSkus(ctx *jxcontext.Context, fromStoreID, toStoreID int, copyMode
sqlDelete += sqlCatAndSku
sqlDeleteParams = append(sqlDeleteParams, sqlCatAndSkuParams)
}
// globals.SugarLogger.Debug(sqlDelete)
if _, err = dao.ExecuteSQL(db, sqlDelete, sqlDeleteParams); err != nil {
return 0, err
}

View File

@@ -37,7 +37,7 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks
SELECT t1.*, t2.price_percentage, t2.vendor_store_id
FROM store_sku_bind t1
JOIN store_map t2 ON t1.store_id = t2.store_id AND t2.vendor_id = ? AND t2.deleted_at = ?
` + sqlWhere
` + sqlWhere + " ORDER BY t1.updated_at"
var storeSkus []*tStoreSkuBindExt
sqlParams := []interface{}{
model.VendorIDJD,