aa
This commit is contained in:
@@ -1203,22 +1203,24 @@ func GetUserStoreAuth(ctx *jxcontext.Context, storeID int) (outStoreID int, err
|
|||||||
|
|
||||||
func SendQywxPeopleCount(ctx *jxcontext.Context) (err error) {
|
func SendQywxPeopleCount(ctx *jxcontext.Context) (err error) {
|
||||||
var (
|
var (
|
||||||
db = dao.GetDB()
|
db = dao.GetDB()
|
||||||
groupIDMap = make(map[string]int)
|
groupIDMap = make(map[string][]interface{})
|
||||||
unionIDMap = make(map[string]string)
|
|
||||||
mobileMap = make(map[string]string)
|
|
||||||
mobileExistMap = make(map[string]string)
|
|
||||||
mobiles []string
|
|
||||||
)
|
)
|
||||||
if beego.BConfig.RunMode == "jxgy" {
|
if beego.BConfig.RunMode == "jxgy" {
|
||||||
groupIDMap[qywxapi.GyGroupID] = 1
|
groupIDMap[qywxapi.GyGroupID] = []interface{}{1, "京西果园"}
|
||||||
} else {
|
} else {
|
||||||
groupIDMap[qywxapi.BldGroupID] = 7
|
groupIDMap[qywxapi.BldGroupID] = []interface{}{7, "京西超市"}
|
||||||
groupIDMap[qywxapi.CsGroupID] = 1
|
groupIDMap[qywxapi.CsGroupID] = []interface{}{1, "京西菜市"}
|
||||||
}
|
}
|
||||||
//先找出群组中所有的unionID
|
//先找出群组中所有的unionID
|
||||||
for k, v := range groupIDMap {
|
for groupID, list := range groupIDMap {
|
||||||
stores, _ := dao.GetStoreList(db, nil, nil, []int{model.StoreStatusOpened}, []int{v}, nil, "")
|
var (
|
||||||
|
unionIDMap = make(map[string]string)
|
||||||
|
mobileMap = make(map[string]string)
|
||||||
|
mobileExistMap = make(map[string]string)
|
||||||
|
mobiles []string
|
||||||
|
)
|
||||||
|
stores, _ := dao.GetStoreList(db, nil, nil, []int{model.StoreStatusOpened}, []int{int(utils.Interface2Int64WithDefault(list[0], 0))}, nil, "")
|
||||||
for _, store := range stores {
|
for _, store := range stores {
|
||||||
if store.Tel1 != "" {
|
if store.Tel1 != "" {
|
||||||
mobileMap[store.Tel1] = store.Tel1
|
mobileMap[store.Tel1] = store.Tel1
|
||||||
@@ -1227,66 +1229,67 @@ func SendQywxPeopleCount(ctx *jxcontext.Context) (err error) {
|
|||||||
mobileMap[store.Tel2] = store.Tel2
|
mobileMap[store.Tel2] = store.Tel2
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
group, _ := api.QywxAPI.Groupchat(k)
|
group, _ := api.QywxAPI.Groupchat(groupID)
|
||||||
for _, member := range group.GroupChat.MemberList {
|
for _, member := range group.GroupChat.MemberList {
|
||||||
if member.UnionID != "" {
|
if member.UnionID != "" {
|
||||||
unionIDMap[member.UnionID] = member.UnionID
|
unionIDMap[member.UnionID] = member.UnionID
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
//再找出群组中所有unionID对应的电话
|
//再找出群组中所有unionID对应的电话
|
||||||
for _, v := range unionIDMap {
|
for _, v := range unionIDMap {
|
||||||
binds, _ := dao.GetUserBindAuthInfo(db, "", model.AuthBindTypeAuth, nil, "", v, nil)
|
binds, _ := dao.GetUserBindAuthInfo(db, "", model.AuthBindTypeAuth, nil, "", v, nil)
|
||||||
if len(binds) > 0 {
|
if len(binds) > 0 {
|
||||||
user, _ := dao.GetUserByID(db, "user_id", binds[0].UserID)
|
user, _ := dao.GetUserByID(db, "user_id", binds[0].UserID)
|
||||||
if user != nil {
|
if user != nil {
|
||||||
mobileExistMap[*user.Mobile] = *user.Mobile
|
mobileExistMap[*user.Mobile] = *user.Mobile
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
for _, v := range mobileMap {
|
||||||
for _, v := range mobileMap {
|
if mobileExistMap[v] == "" {
|
||||||
if mobileExistMap[v] == "" {
|
mobiles = append(mobiles, v)
|
||||||
mobiles = append(mobiles, v)
|
}
|
||||||
}
|
}
|
||||||
}
|
//最后找出已有门店电话不在已有群组里的发消息
|
||||||
//最后找出已有门店电话不在已有群组里的发消息
|
for _, v := range mobiles {
|
||||||
for _, v := range mobiles {
|
store := &model.Store{}
|
||||||
store := &model.Store{}
|
sql := `
|
||||||
sql := `
|
|
||||||
SELECT * FROM store WHERE (tel1 = ? OR tel2 = ?) AND deleted_at = ?
|
SELECT * FROM store WHERE (tel1 = ? OR tel2 = ?) AND deleted_at = ?
|
||||||
`
|
`
|
||||||
sqlParams := []interface{}{v, v, utils.DefaultTimeValue}
|
sqlParams := []interface{}{v, v, utils.DefaultTimeValue}
|
||||||
dao.GetRow(db, &store, sql, sqlParams)
|
dao.GetRow(db, &store, sql, sqlParams)
|
||||||
if store != nil {
|
if store != nil {
|
||||||
if mobileExistMap[store.Tel1] != "" || mobileExistMap[store.Tel2] != "" {
|
if mobileExistMap[store.Tel1] != "" || mobileExistMap[store.Tel2] != "" {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
//发消息
|
//发消息
|
||||||
var (
|
|
||||||
userIDMap = make(map[string]string)
|
|
||||||
)
|
|
||||||
operatorRoleList := []string{store.OperatorRole, store.OperatorRole2, store.OperatorRole3}
|
|
||||||
for _, vv := range operatorRoleList {
|
|
||||||
var (
|
var (
|
||||||
roleList []*authz.RoleInfo
|
userIDMap = make(map[string]string)
|
||||||
)
|
)
|
||||||
if vv != "" {
|
operatorRoleList := []string{store.OperatorRole, store.OperatorRole2, store.OperatorRole3}
|
||||||
roleList = append(roleList, autils.NewRole(vv, 0))
|
for _, vv := range operatorRoleList {
|
||||||
if userIDMap2, err := GetRolesUserList(jxcontext.AdminCtx, roleList); err == nil {
|
var (
|
||||||
for _, w := range userIDMap2 {
|
roleList []*authz.RoleInfo
|
||||||
for _, ww := range w {
|
)
|
||||||
userIDMap[ww] = ww
|
if vv != "" {
|
||||||
|
roleList = append(roleList, autils.NewRole(vv, 0))
|
||||||
|
if userIDMap2, err := GetRolesUserList(jxcontext.AdminCtx, roleList); err == nil {
|
||||||
|
for _, w := range userIDMap2 {
|
||||||
|
for _, ww := range w {
|
||||||
|
userIDMap[ww] = ww
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
noticeMsg := fmt.Sprintf("您有负责的商家还未加入相应的[%s]沟通群,门店ID :[%d],门店名:[%s],商家电话:[%s,%s]", list[1].(string), store.ID, store.Name, store.Tel1, store.Tel2)
|
||||||
noticeMsg := fmt.Sprintf("您有负责的商家还未加入相应的便利店/菜市/果园沟通群,门店ID :[%d],门店名:[%s],商家电话:[%s,%s]", store.ID, store.Name, store.Tel1, store.Tel2)
|
user2, err := dao.GetUserByID(db, "mobile", store.MarketManPhone)
|
||||||
user2, err := dao.GetUserByID(db, "mobile", store.MarketManPhone)
|
if err == nil {
|
||||||
if err == nil {
|
userIDMap[user2.UserID] = user2.UserID
|
||||||
userIDMap[user2.UserID] = user2.UserID
|
for _, v := range userIDMap {
|
||||||
for _, v := range userIDMap {
|
if api.DingDingAPI.GetToken() != "" {
|
||||||
if api.DingDingAPI.GetToken() != "" {
|
ddmsg.SendUserMessage(dingdingapi.MsgTyeText, v, "您有商家还未加入企业微信群", noticeMsg)
|
||||||
ddmsg.SendUserMessage(dingdingapi.MsgTyeText, v, "您有商家还未加入企业微信群", noticeMsg)
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user