4

疫情在家帮老婆提升下工作效率

 2 years ago
source link: https://blog.ops-coffee.cn/s/zpvzw8vdptlggor6gvpiqa
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

疫情在家帮老婆提升下工作效率

受疫情影响,上海许多公司都在两周之前开始居家办公,我和老婆都是,随着风控加码有些小伙伴开始出现物资短缺,吃饭都面临困难。上周老婆任职的公司启动关怀模式,开始给缺乏物资的员工派送蔬菜礼包。特殊时期公司能得到的物资也有限,没有办法给每一位员工都派送,只能先派发给风控区内物资匮乏的员工,老婆得到任务统计有哪些员工比较紧急需要支援,收集相关信息上报

拿到任务后马上就开始执行,我看她拟了个通知发到公司大群让有需求的员工单独找她,她再将大家的联系电话家庭住址等信息统一进行汇总

看这操作手法我实在着急,效率也太低了,收集信息完全可以通过在线问卷的方式,大家各自填写,完了后台导出报表就行了,不仅简单高效还能做到数据格式统一

于是我打开腾讯问卷系统花点时间现学现卖生成了个问卷,让她发在大群让有需求的同事自行填写,起初她还抵触,用过之后是真的香

20220401.01.jpg

这周上海以黄浦江为界,整个浦东都开启封闭管理,老婆她们公司开启了第二波蔬菜大礼包配送,有了上次成功的经验,这次主动求我给重新做个问卷收集信息,我自当义不容辞了

信息收集完成后,领导说由于上次有些人信息填错导致物资送不到,这次再确认下大家填写的信息是否有误,总共有百来十个员工信息需要确认,这要一个一个的找她们确认得确认到啥时候呀,沟通成本太高了

于是我给她建议,用个Google文档之类的在线文档,数据放进去发消息给每个人让他们自己去确认下,然而数据里包含家庭住址等私密信息,所有人都能看到自己的家庭住址不太好

自己只能看到自己的信息,别人的看不到,那也就是说发给每个人的信息都是不一样的,现有的这些在线工具似乎是不太好处理,这个时候就发挥出来我的优势了,由于她们内部使用企业微信沟通的,花了点时间看了下企业微信的文档,可以通过推送消息接口给每个人推送个性化的消息

说干就干,总体也比较简单,没几行代码就搞定了,思路就是循环读取记录用户信息的csv文件,取每一条数据匹配出来相关信息然后调用企业微信API发送通知,发送通知的代码如下

import json
import requests


class WorkWeixinApi:
    def __init__(self):
        self.domain = 'https://qyapi.weixin.qq.com/cgi-bin'
        self.client_id = 'Your client id'
        self.client_secret = 'Your client secret'
        self.agentid = 'Your agentid'

    def get_access_token(self):
        params = {
            'corpid': self.client_id,
            'corpsecret': self.client_secret,
        }

        try:
            r = requests.get(self.domain + '/gettoken', params=params)

            return True, r.status_code, r.json()
        except Exception as e:
            return False, 500, '获取Token失败:' + str(e)

    def send_message(self, subject, content, reciever_list, enable_duplicate_check=0):
        _state, _code, _data = self.get_access_token()

        if _state:
            post_data = json.dumps({
                "touser": '|'.join([i.split('@')[0] for i in reciever_list]),
                "msgtype": "text",
                "agentid": int(self.agentid),
                "text": {"content": subject + "\r\n\r\n" + content},
                "enable_duplicate_check": enable_duplicate_check
            })

            try:
                r = requests.post(self.domain + '/message/send?access_token=' + _data.get('access_token'),
                                  data=post_data)

                return True, r.status_code, r.json()
            except Exception as e:
                return False, 500, '发送消息失败:' + str(e)
        else:
            return _state, _code, _data


if __name__ == '__main__':
    for line in open("ops-coffee.cn.csv"): 
        id, name, email, phone, street, address = line.split(',')

        state, code, data = WorkWeixinApi().send_message(
            '蔬菜大礼包信息确认',
            '你好,请你确认蔬菜礼包送货地址是否正确,如有错误请单独联系HR告知,无错误请忽略\r\n\r\n名称:%s\r\n电话:%d\r\n街道:%s\r\n地址:%s' %(
            name, phone.strip(), street, address),
            ['%s' % email]
        )

        print('%s 通知发送 %s, %s' %(name, '成功' if state and data.get('errcode') == 0 else '失败', data.get('errmsg')))

csv文件的内容大概像这样

01,韦小宝,[email protected],15866668888,张江镇,张江路115弄40号
01,张无忌,[email protected],15866668888,张江镇,张江路115弄41号

数据脚本都准备好了,然后直接执行,相关的人就只收到了包含自己信息的通知

20220401.02.png

片刻时间所有需要确认的信息都准确无误的发送给了正确的人,这波操作下来,起码晚上加两个菜应该是没啥问题了吧。由此想到其实可以给做的更简单更完善一点,一个专门发送企业微信通知的服务,面向不懂技术的普通用户,她们只需要收集好要发送的通知信息就好了,然后上传或者粘贴进系统内一键发送,同时能记录发送日志,就到这里不再展开了吧,各位有想法的小伙伴可以实现下

最后,希望疫情快点过去,大家都能绿码永在,核算常阴,早日自由


能看到这里一定是真爱,关注一下吧

wx.sou1.png

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK