添加用户配送地址管理API
This commit is contained in:
@@ -13,6 +13,14 @@ type StoreWithCityName struct {
|
||||
CityName string `json:"cityName"`
|
||||
}
|
||||
|
||||
type UserDeliveryAddressEx struct {
|
||||
model.UserDeliveryAddress
|
||||
|
||||
UserName string
|
||||
CityName string
|
||||
DistrictName string
|
||||
}
|
||||
|
||||
func GetUserByID(db *DaoDB, fieldName, fieldValue string) (user *model.User, err error) {
|
||||
sql := fmt.Sprintf(`
|
||||
SELECT *
|
||||
@@ -64,7 +72,7 @@ func GetUsers(db *DaoDB, userType int, keyword string, userIDs []string, userID2
|
||||
sql += " LIMIT ? OFFSET ?"
|
||||
sqlParams = append(sqlParams, pageSize, offset)
|
||||
Begin(db)
|
||||
defer Rollback(db)
|
||||
defer Commit(db)
|
||||
if err = GetRows(db, &userList, sql, sqlParams...); err == nil {
|
||||
totalCount = GetLastTotalRowCount(db)
|
||||
}
|
||||
@@ -149,3 +157,54 @@ func GetStoreListByMobileOrStoreIDs(db *DaoDB, mobile string, shortRoleNameList
|
||||
err = GetRows(db, &storeList, sql, sqlParams...)
|
||||
return storeList, err
|
||||
}
|
||||
|
||||
func QueryUserDeliveryAddress(db *DaoDB, userIDs []string, offset, pageSize int) (addressList []*UserDeliveryAddressEx, totalCount int, err error) {
|
||||
sql := `
|
||||
SELECT SQL_CALC_FOUND_ROWS
|
||||
t1.*,
|
||||
t2.name user_name,
|
||||
district.name district_name,
|
||||
city.name city_name
|
||||
FROM user_delivery_address t1
|
||||
LEFT JOIN user t2 ON t2.user_id = t1.user_id
|
||||
LEFT JOIN place district ON district.code = t1.district_code
|
||||
LEFT JOIN place city ON city.code = t1.city_code
|
||||
WHERE t1.deleted_at = ?
|
||||
`
|
||||
sqlParams := []interface{}{
|
||||
utils.DefaultTimeValue,
|
||||
}
|
||||
if len(userIDs) > 0 {
|
||||
sql += " AND t1.user_id IN (" + GenQuestionMarks(len(userIDs)) + ")"
|
||||
sqlParams = append(sqlParams, userIDs)
|
||||
}
|
||||
offset = FormalizePageOffset(offset)
|
||||
pageSize = FormalizePageSize(pageSize)
|
||||
sql += " LIMIT ? OFFSET ?"
|
||||
sqlParams = append(sqlParams, pageSize, offset)
|
||||
|
||||
Begin(db)
|
||||
defer Commit(db)
|
||||
if err = GetRows(db, &addressList, sql, sqlParams...); err == nil {
|
||||
totalCount = GetLastTotalRowCount(db)
|
||||
}
|
||||
return addressList, totalCount, err
|
||||
}
|
||||
|
||||
func ClearUserDeliveryAddressDefault(db *DaoDB, userID string, defAddressID int) (err error) {
|
||||
sql := `
|
||||
UPDATE user_delivery_address t1
|
||||
SET t1.is_default = 0
|
||||
WHERE t1.deleted_at = ? AND t1.user_id = ?
|
||||
`
|
||||
sqlParams := []interface{}{
|
||||
utils.DefaultTimeValue,
|
||||
userID,
|
||||
}
|
||||
if defAddressID > 0 {
|
||||
sql += " AND t1.id <> ?"
|
||||
sqlParams = append(sqlParams, defAddressID)
|
||||
}
|
||||
_, err = ExecuteSQL(db, sql, sqlParams...)
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user