- 注释掉老user与auth相关的代码

This commit is contained in:
gazebo
2019-09-24 16:39:50 +08:00
parent 72c9889d10
commit 412b11396a
18 changed files with 1172 additions and 1442 deletions

View File

@@ -1,182 +1,111 @@
package dao
import (
"fmt"
// type StoreUserInfo struct {
// legacymodel.WeiXins
// ParentMobile string `json:"parentMobile"`
// Members []*legacymodel.WeiXins `orm:"-" json:"members"`
// MembersStr string `json:"-"`
// }
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/model/legacymodel"
)
// func CreateWeiXins(db *DaoDB, user *legacymodel.WeiXins) (err error) {
// Begin(db)
// if err = CreateEntity(db, user); err != nil {
// Rollback(db)
// return err
// }
// if err = SetWeiXinsEmpty2Null(db, user); err != nil {
// Rollback(db)
// return err
// }
// Commit(db)
// return err
// }
type StoreUserInfo struct {
legacymodel.WeiXins
ParentMobile string `json:"parentMobile"`
Members []*legacymodel.WeiXins `orm:"-" json:"members"`
MembersStr string `json:"-"`
}
// func SetWeiXinsEmpty2Null(db *DaoDB, user *legacymodel.WeiXins) (err error) {
// _, err = ExecuteSQL(db, `
// UPDATE weixins
// SET
// openid = IF(openid = '', NULL, openid),
// openid_mini = IF(openid_mini = '', NULL, openid_mini),
// openid_union = IF(openid_union = '', NULL, openid_union),
// tel = IF(tel = '', NULL, tel),
// parentid = IF(parentid = 0, -1, parentid)
// WHERE id = ?
// `, user.ID)
// return err
// }
type StoreWithCityName struct {
model.Store
CityName string `json:"cityName"`
}
// func GetWeiXinUserByIDs(db *DaoDB, tel, unionID, openID, miniOpenID string) (user *legacymodel.WeiXins, err error) {
// fieldList := []string{
// "Tel",
// "OpenIDUnion",
// "OpenID",
// "OpenIDMini",
// }
// valueList := []string{
// tel,
// unionID,
// openID,
// miniOpenID,
// }
// user = &legacymodel.WeiXins{
// Tel: tel,
// OpenIDUnion: unionID,
// OpenID: openID,
// OpenIDMini: miniOpenID,
// }
// for index := range valueList {
// if valueList[index] != "" {
// if err = GetEntity(db, user, fieldList[index]); err == nil {
// return user, nil
// }
// }
// }
// return nil, err
// }
func CreateWeiXins(db *DaoDB, user *legacymodel.WeiXins) (err error) {
Begin(db)
if err = CreateEntity(db, user); err != nil {
Rollback(db)
return err
}
if err = SetWeiXinsEmpty2Null(db, user); err != nil {
Rollback(db)
return err
}
Commit(db)
return err
}
// func UpdateWeiXinUser(db *DaoDB, tel, nickname, unionID, openID, miniOpenID string) (err error) {
// user := &legacymodel.WeiXins{
// Tel: tel,
// }
// if err = GetEntity(db, user, "Tel"); err == nil {
// updateFields := []string{}
// if openID != "" {
// user.OpenID = openID
// updateFields = append(updateFields, "OpenID")
// }
// if unionID != "" {
// user.OpenIDUnion = unionID
// updateFields = append(updateFields, "OpenIDUnion")
// }
// if miniOpenID != "" {
// user.OpenIDMini = miniOpenID
// updateFields = append(updateFields, "OpenIDMini")
// }
// if nickname != "" {
// user.NickName = nickname
// updateFields = append(updateFields, "NickName")
// }
// _, err = UpdateEntity(db, user, updateFields...)
// }
// return err
// }
func SetWeiXinsEmpty2Null(db *DaoDB, user *legacymodel.WeiXins) (err error) {
_, err = ExecuteSQL(db, `
UPDATE weixins
SET
openid = IF(openid = '', NULL, openid),
openid_mini = IF(openid_mini = '', NULL, openid_mini),
openid_union = IF(openid_union = '', NULL, openid_union),
tel = IF(tel = '', NULL, tel),
parentid = IF(parentid = 0, -1, parentid)
WHERE id = ?
`, user.ID)
return err
}
func GetWeiXinUserByIDs(db *DaoDB, tel, unionID, openID, miniOpenID string) (user *legacymodel.WeiXins, err error) {
fieldList := []string{
"Tel",
"OpenIDUnion",
"OpenID",
"OpenIDMini",
}
valueList := []string{
tel,
unionID,
openID,
miniOpenID,
}
user = &legacymodel.WeiXins{
Tel: tel,
OpenIDUnion: unionID,
OpenID: openID,
OpenIDMini: miniOpenID,
}
for index := range valueList {
if valueList[index] != "" {
if err = GetEntity(db, user, fieldList[index]); err == nil {
return user, nil
}
}
}
return nil, err
}
func UpdateWeiXinUser(db *DaoDB, tel, nickname, unionID, openID, miniOpenID string) (err error) {
user := &legacymodel.WeiXins{
Tel: tel,
}
if err = GetEntity(db, user, "Tel"); err == nil {
updateFields := []string{}
if openID != "" {
user.OpenID = openID
updateFields = append(updateFields, "OpenID")
}
if unionID != "" {
user.OpenIDUnion = unionID
updateFields = append(updateFields, "OpenIDUnion")
}
if miniOpenID != "" {
user.OpenIDMini = miniOpenID
updateFields = append(updateFields, "OpenIDMini")
}
if nickname != "" {
user.NickName = nickname
updateFields = append(updateFields, "NickName")
}
_, err = UpdateEntity(db, user, updateFields...)
}
return err
}
func GetUserStoreInfo(db *DaoDB, fieldName, fieldValue string) (storeUserInfo *StoreUserInfo, err error) {
sql := fmt.Sprintf(`
SELECT t1.id, IF(t3.id IS NULL, t1.jxstoreid, t3.jxstoreid) jxstoreid, t1.openid, t1.tel, t1.nickname, t1.parentid, t3.tel parent_mobile,
CONCAT("[", GROUP_CONCAT(CONCAT('{"id":', t2.id, ',"tel":"', t2.tel, '","nickname":"', IF(t2.nickname IS NULL, "", t2.nickname), '"}')), "]") members_str
FROM weixins t1
LEFT JOIN weixins t2 ON t2.parentid = t1.id
LEFT JOIN weixins t3 ON t1.parentid = t3.id
WHERE t1.%s = ?
GROUP BY 1,2,3,4,5,6,7;
`, fieldName)
if err = GetRow(db, &storeUserInfo, sql, fieldValue); err == nil { // todo
err = nil
if storeUserInfo.MembersStr != "" {
err = utils.UnmarshalUseNumber([]byte(storeUserInfo.MembersStr), &storeUserInfo.Members)
}
}
return storeUserInfo, err
}
func GetStoreListByMobile(db *DaoDB, mobile string) (storeList []*StoreWithCityName, err error) {
if mobile != "" {
sql := `
SELECT
DISTINCT t1.*, t2.name city_name
FROM (
SELECT *
FROM store t1
WHERE (t1.market_man_phone = ? OR t1.operator_phone = ?)
UNION DISTINCT
SELECT t1.*
FROM store t1
JOIN weixins t2 ON t2.jxstoreid = t1.id AND t2.parentid = -1
LEFT JOIN weixins t3 ON t3.parentid = t2.id
WHERE (t2.tel = ? OR t3.tel = ?)
) t1
LEFT JOIN place t2 ON t2.code = t1.city_code
WHERE t1.deleted_at = ?
ORDER BY t1.name`
sqlParams := []interface{}{
mobile,
mobile,
mobile,
mobile,
utils.DefaultTimeValue,
}
err = GetRows(db, &storeList, sql, sqlParams...)
}
return storeList, err
}
func GetStoreListByMobileOrStoreIDs(db *DaoDB, mobile string, shortRoleNameList []string, storeIDs []int) (storeList []*StoreWithCityName, err error) {
sql := `
SELECT t1.*, t2.name city_name
FROM store t1
LEFT JOIN place t2 ON t2.code = t1.city_code
WHERE t1.deleted_at = ? AND ( 1 = 0`
sqlParams := []interface{}{
utils.DefaultTimeValue,
}
if mobile != "" {
sql += " OR t1.market_man_phone = ? OR t1.operator_phone = ?"
sqlParams = append(sqlParams, mobile, mobile)
}
if len(shortRoleNameList) > 0 {
questionMarks := GenQuestionMarks(len(shortRoleNameList))
sql += " OR t1.market_man_role IN (" + questionMarks + ") OR t1.operator_role IN (" + questionMarks + ") OR t1.operator_role2 IN (" + questionMarks + ")"
sqlParams = append(sqlParams, shortRoleNameList, shortRoleNameList, shortRoleNameList)
}
if len(storeIDs) > 0 {
sql += " OR t1.id IN (" + GenQuestionMarks(len(storeIDs)) + ")"
sqlParams = append(sqlParams, storeIDs)
}
sql += ")"
err = GetRows(db, &storeList, sql, sqlParams...)
return storeList, err
}
// func GetUserStoreInfo(db *DaoDB, fieldName, fieldValue string) (storeUserInfo *StoreUserInfo, err error) {
// sql := fmt.Sprintf(`
// SELECT t1.id, IF(t3.id IS NULL, t1.jxstoreid, t3.jxstoreid) jxstoreid, t1.openid, t1.tel, t1.nickname, t1.parentid, t3.tel parent_mobile,
// CONCAT("[", GROUP_CONCAT(CONCAT('{"id":', t2.id, ',"tel":"', t2.tel, '","nickname":"', IF(t2.nickname IS NULL, "", t2.nickname), '"}')), "]") members_str
// FROM weixins t1
// LEFT JOIN weixins t2 ON t2.parentid = t1.id
// LEFT JOIN weixins t3 ON t1.parentid = t3.id
// WHERE t1.%s = ?
// GROUP BY 1,2,3,4,5,6,7;
// `, fieldName)
// if err = GetRow(db, &storeUserInfo, sql, fieldValue); err == nil { // todo
// err = nil
// if storeUserInfo.MembersStr != "" {
// err = utils.UnmarshalUseNumber([]byte(storeUserInfo.MembersStr), &storeUserInfo.Members)
// }
// }
// return storeUserInfo, err
// }

View File

@@ -8,6 +8,11 @@ import (
"git.rosy.net.cn/jx-callback/business/model"
)
type StoreWithCityName struct {
model.Store
CityName string `json:"cityName"`
}
func GetUserByID(db *DaoDB, fieldName, fieldValue string) (user *model.User, err error) {
sql := fmt.Sprintf(`
SELECT *
@@ -85,3 +90,61 @@ func DeleteUsers(db *DaoDB, userIDs []string) (num int64, err error) {
}
return num, err
}
func GetStoreListByMobile(db *DaoDB, mobile string) (storeList []*StoreWithCityName, err error) {
if mobile != "" {
sql := `
SELECT
DISTINCT t1.*, t2.name city_name
FROM (
SELECT *
FROM store t1
WHERE (t1.market_man_phone = ? OR t1.operator_phone = ?)
UNION DISTINCT
SELECT t1.*
FROM store t1
JOIN weixins t2 ON t2.jxstoreid = t1.id AND t2.parentid = -1
LEFT JOIN weixins t3 ON t3.parentid = t2.id
WHERE (t2.tel = ? OR t3.tel = ?)
) t1
LEFT JOIN place t2 ON t2.code = t1.city_code
WHERE t1.deleted_at = ?
ORDER BY t1.name`
sqlParams := []interface{}{
mobile,
mobile,
mobile,
mobile,
utils.DefaultTimeValue,
}
err = GetRows(db, &storeList, sql, sqlParams...)
}
return storeList, err
}
func GetStoreListByMobileOrStoreIDs(db *DaoDB, mobile string, shortRoleNameList []string, storeIDs []int) (storeList []*StoreWithCityName, err error) {
sql := `
SELECT t1.*, t2.name city_name
FROM store t1
LEFT JOIN place t2 ON t2.code = t1.city_code
WHERE t1.deleted_at = ? AND ( 1 = 0`
sqlParams := []interface{}{
utils.DefaultTimeValue,
}
if mobile != "" {
sql += " OR t1.market_man_phone = ? OR t1.operator_phone = ?"
sqlParams = append(sqlParams, mobile, mobile)
}
if len(shortRoleNameList) > 0 {
questionMarks := GenQuestionMarks(len(shortRoleNameList))
sql += " OR t1.market_man_role IN (" + questionMarks + ") OR t1.operator_role IN (" + questionMarks + ") OR t1.operator_role2 IN (" + questionMarks + ")"
sqlParams = append(sqlParams, shortRoleNameList, shortRoleNameList, shortRoleNameList)
}
if len(storeIDs) > 0 {
sql += " OR t1.id IN (" + GenQuestionMarks(len(storeIDs)) + ")"
sqlParams = append(sqlParams, storeIDs)
}
sql += ")"
err = GetRows(db, &storeList, sql, sqlParams...)
return storeList, err
}

View File

@@ -1,41 +1,33 @@
package dao
import (
"testing"
// func TestCreateWeiXins(t *testing.T) {
// err := CreateWeiXins(GetDB(), &legacymodel.WeiXins{
// Tel: "12345",
// })
// if err != nil {
// t.Fatal(err)
// }
// }
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/model/legacymodel"
"git.rosy.net.cn/jx-callback/globals"
)
// func TestGetWeiXinUserByIDs(t *testing.T) {
// user, err := GetWeiXinUserByIDs(GetDB(), "", "unionid", "", "")
// if err != nil {
// t.Fatal(err)
// }
// globals.SugarLogger.Debug(utils.Format4Output(user, false))
// }
func TestCreateWeiXins(t *testing.T) {
err := CreateWeiXins(GetDB(), &legacymodel.WeiXins{
Tel: "12345",
})
if err != nil {
t.Fatal(err)
}
}
// func TestUpdateWeiXinUser(t *testing.T) {
// err := UpdateWeiXinUser(GetDB(), "12345", "nickname", "unionid", "openid", "miniid")
// if err != nil {
// t.Fatal(err)
// }
// }
func TestGetWeiXinUserByIDs(t *testing.T) {
user, err := GetWeiXinUserByIDs(GetDB(), "", "unionid", "", "")
if err != nil {
t.Fatal(err)
}
globals.SugarLogger.Debug(utils.Format4Output(user, false))
}
func TestUpdateWeiXinUser(t *testing.T) {
err := UpdateWeiXinUser(GetDB(), "12345", "nickname", "unionid", "openid", "miniid")
if err != nil {
t.Fatal(err)
}
}
func TestGetUserStoreInfo(t *testing.T) {
user, err := GetUserStoreInfo(GetDB(), "tel", "18180948107")
if err != nil {
t.Fatal(err)
}
globals.SugarLogger.Debug(utils.Format4Output(user, false))
}
// func TestGetUserStoreInfo(t *testing.T) {
// user, err := GetUserStoreInfo(GetDB(), "tel", "18180948107")
// if err != nil {
// t.Fatal(err)
// }
// globals.SugarLogger.Debug(utils.Format4Output(user, false))
// }